<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>DoubleCloud.org</title>
	
	<link>http://www.doublecloud.org</link>
	<description>Cutting Edge Technologies to Build DoubleCloud (Private + Public Clouds) with Virtualization</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:06:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Doublecloud" /><feedburner:info uri="doublecloud" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Doublecloud</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Chasing Moving Targets</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/YX9SL9s8cZ4/</link>
		<comments>http://www.doublecloud.org/2012/02/chasing-moving-targets/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 05:44:21 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[risk management]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2862</guid>
		<description><![CDATA[As John F. Kennedy put it, “everything changes but change itself.” This is particularly true in computer industry where things move faster than other industries. It’s further complicated when you also have dependencies that also move fast. A good example is that your software project depends on another product which is also under development. Sometimes [...]<p><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/">Chasing Moving Targets</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>As John F. Kennedy put it, “everything changes but change itself.” This is particularly true in computer industry where things move faster than other industries. It’s further complicated when you also have dependencies that also move fast.</p>
<p>A good example is that your software project depends on another product which is also under development. Sometimes we call it synchronous development. The payoff could be huge if you can ship your product at the same time as the dependent product which presumably has bigger user base. You can then leverage the go-to market opportunity as first player in the bigger community.</p>
<p>The problem is also obvious. If the dependent product gets delayed or cancelled, you are out of luck. All your investment turns up nothing, or you have to invest more. So naturally you have to think about risk management in such cases.</p>
<p>Generally speaking, you don’t want to bet on a moving target unless the vendor has demonstrated a track record to consistently deliver products on time. It doesn’t matter the dependent product is within your organization/company or not. You may think an internal project is more dependable than external ones. But when it comes to software project, it’s not likely true.</p>
<p>To be safe, you want to work on released products. Sometimes it may not be an option. For example, you develop a device driver for next version of Windows. The stake is too high for not to support it on day one with the new Windows.</p>
<p>I have to point out that even a product is there already, there are chances for it to be phased out or replaced by a new generation of products. But then the vendor will provide a migration path to ease the issue. Therefore there should be no immediate impact.</p>
<p>Now, if you have to chase moving targets, what are the effective strategies to mitigate the risks? Here are LID (Limit/Iterate/Diversify) strategies:</p>
<ol>
<li>Limit. You project is successful only if all your dependent projects are successful. Even all the dependent products are successful, there might still be issues for them to work together. The less moving targets you depend on, the higher chance for your project to succeed. While developing the open source <a href="http://vijava.sf.net" target="_blank">vSphere Java API</a>, I decided that it only depends on dom4j 1.6.1.</li>
<li>Iterate. You don’t want to sync up with the dependent product after it’s released for sure. Instead, you get alpha, beta, RC builds so that you can try out and find potential risks early on. This allows you enough time to adjust your project plan, for example, reduce investment until the dependent products are ready. If it&#8217;s an internal project or open source project, you can have even more frequent interations.</li>
<li>Diversify. This is the same wisdom as you spread your investment portfolio into multiple stocks. The techniques are however different in software projects. You want to have an abstraction layer to cover two or more alternatives. Like it or not, the abstraction layer is an overhead and requires more effort to develop. This diversification helps not only manage risk but also expand business opportunites into multiple and sometime competing ecosystems.</li>
</ol>
<p>I summarize the LID strategies for software project management. The basic principals should be applicable for other non-software projects for risk management as well. Please feel free to give them a try.</p>
<p><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/">Chasing Moving Targets</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/" title="1xN to Nx1: The World Is Flat In Computing">1xN to Nx1: The World Is Flat In Computing</a></li><li><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/" title="Why So Many Programming Languages?">Why So Many Programming Languages?</a></li><li><a href="http://www.doublecloud.org/2011/11/maven-again/" title="Maven Again">Maven Again</a></li><li><a href="http://www.doublecloud.org/2011/11/best-practices-for-best-practices/" title="Best Practices for Best Practices">Best Practices for Best Practices</a></li><li><a href="http://www.doublecloud.org/2011/02/how-i-customized-my-wordpress-blog/" title="How I Customized My WordPress Blog">How I Customized My WordPress Blog</a></li><li><a href="http://www.doublecloud.org/2010/11/critical-lessons-learned-at-facebook-on-scalability-and-reliability/" title="Critical Lessons Learned at Facebook on Scalability and Reliability">Critical Lessons Learned at Facebook on Scalability and Reliability</a></li><li><a href="http://www.doublecloud.org/2010/03/hardware-designers-vs-software-designers/" title="Hardware Designers vs. Software Designers">Hardware Designers vs. Software Designers</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/YX9SL9s8cZ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/02/chasing-moving-targets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/02/chasing-moving-targets/</feedburner:origLink></item>
		<item>
		<title>1xN to Nx1: The World Is Flat In Computing</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/AOAmHWV1nPU/</link>
		<comments>http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 05:01:23 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[virtual appliance]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2846</guid>
		<description><![CDATA[The first part of the title of this article may seem like mathematics, but it’s really not. This is just about software packaging – a topic not so often discussed. In plain English, it basically says something like: one application with N features vs. N applications, each of which has one feature. More generally speaking, [...]<p><a href="http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/">1xN to Nx1: The World Is Flat In Computing</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>The first part of the title of this article may seem like mathematics, but it’s really not. This is just about software packaging – a topic not so often discussed. In plain English, it basically says something like: one application with N features vs. N applications, each of which has one feature. More generally speaking, it can describe software entity with sub-elements. I will discuss it in the contexts of mobile/desktop, and virtual/physical.</p>
<p><strong>From Desktop To Mobile</strong></p>
<p>As a software professional, I am really impressed by the rapid growing number of mobile applications today. As estimated, there are more than 500,000 iPhone applications, similar number on Android, and less but good enough on Windows Phone 7.</p>
<p>While we are excited about the big number of choices, normal folks don’t really need that many applications at all. In general, majority of the applications are downloaded just a few times or even no download.</p>
<p>The long tail theory holds true, and it’s good for the store owners like Apple but not necessarily for majority of the app developers. That is a wholly different discussion that we’ll skip here.</p>
<p>Because of the limitation of computing power, small sized screen, lack of mouse and keyboard, it’s natural to have much smaller applications on mobile platforms. So far, it has worked pretty well.</p>
<p>Although rich in features, the traditional applications has majority of the features that normal users never use or think about. It’s fair to say 80% of users use only 20% features of applications like Microsoft Office. When the really simple mobile applications come, you can imagine the excitement.</p>
<p>While we sometimes find it a trouble to find particular menu/keystroke combinations in traditional applications, it’s no longer an issue in mobile applications – it just has one or two features therefore you can’t miss it.</p>
<p>However, the problem of finding right feature to get work done is not gone away. It just morphs to a different problem: finding a right application.</p>
<p><strong>From Physical To Virtual</strong></p>
<p>In theory, the rising of virtualization should not introduce the flatting out packaging. But because of the virtual appliance concept, the packaging in the virtual world is getting flatter than in the physical world.</p>
<p>For example, on a traditional operating system running on a physical machine, it normally has many applications installed. With virtual machines, you could do the same or simply package one application with one OS/virtual machine. It’s not that you cannot package only one application with OS in physical world, but that you can do it so easy and cost effectively in virtual world that it becomes feasible there.</p>
<p>The one to one mapping allows vendor to pre-install and configure an application in a virtual machine, therefore simplify installation and configuration. When a user receives the virtual machine, she can just run it with very few changes like IP address if static IP is needed.<br />
While the installation/configuration issue is dramatically simplified for ONE application, you will have more operating systems to manage. This is the virtual machine sprawl as discussed in my previous article <a href="http://www.doublecloud.org/2010/09/how-to-avoid-virtual-machine-sprawl-in-cloud-age/">How to Avoid Virtual Machine Sprawl in Cloud Age</a>.</p>
<p><strong>A Rising Problem</strong></p>
<p>While we solving the problem with traditional packaging, the solution brings a new problem, which is to manage more entities, either more applications or more virtual machines. It’s true that the single application or virtual machine is simpler and may easier to use, but the cost of extra applications and virtual machines are rising for sure.</p>
<p>Not only that, the information sharing is easier when an application or operating system is fat than when it’s flat. Multiple applications or virtual appliances takes more efforts and consumes more resources.</p>
<p>It’s hard and too early to say flat application or virtual appliance is a save or not. I don’t think there is a standard answer. Like most things, the result will be case by case.</p>
<p><a href="http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/">1xN to Nx1: The World Is Flat In Computing</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/" title="Chasing Moving Targets">Chasing Moving Targets</a></li><li><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/" title="Why So Many Programming Languages?">Why So Many Programming Languages?</a></li><li><a href="http://www.doublecloud.org/2011/11/maven-again/" title="Maven Again">Maven Again</a></li><li><a href="http://www.doublecloud.org/2011/11/best-practices-for-best-practices/" title="Best Practices for Best Practices">Best Practices for Best Practices</a></li><li><a href="http://www.doublecloud.org/2011/03/finding-out-guest-os-running-on-a-virtual-machine/" title="Finding out Guest OS Running on a Virtual Machine">Finding out Guest OS Running on a Virtual Machine</a></li><li><a href="http://www.doublecloud.org/2011/02/how-i-customized-my-wordpress-blog/" title="How I Customized My WordPress Blog">How I Customized My WordPress Blog</a></li><li><a href="http://www.doublecloud.org/2010/12/must-knows-about-release-engineering-lessons-from-google/" title="Must Knows About Release Engineering: Lessons From Google">Must Knows About Release Engineering: Lessons From Google</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/AOAmHWV1nPU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/</feedburner:origLink></item>
		<item>
		<title>Announcing Code Generator For vSphere Java API</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/EdS7CjKnoWM/</link>
		<comments>http://www.doublecloud.org/2012/02/announcing-code-generator-for-vsphere-java-api/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 08:12:06 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[vSphere API]]></category>
		<category><![CDATA[code generation]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[vi java api]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2836</guid>
		<description><![CDATA[As I tweeted last week, there would be a big announcement when the open source VI Java API gets 20,000 downloads. It hit target yesterday. To celebrate it, I decide to release the code generator for the API, which William (@lamw) rated as “awesome.” If you have used Onyx for generating PowerCLI code before, you [...]<p><a href="http://www.doublecloud.org/2012/02/announcing-code-generator-for-vsphere-java-api/">Announcing Code Generator For vSphere Java API</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>As I tweeted last week, there would be a big announcement when the open source <a href="http://vijava.sf.net" target="_blank">VI Java API</a> gets 20,000 downloads. It hit target yesterday. To celebrate it, I decide to release the code generator for the API, which William (<a href="http://twitter.com/lamw" target="_blank">@lamw</a>) rated as “awesome.”</p>
<p>If you have used Onyx for generating PowerCLI code before, you can think it as Java version of Onyx. Even better, it generates complete Java code which is ready to run once you supply the URL, username, and password. It’s so easy that from now on, all the system administrators have no excuse for not trying open source vSphere Java API. <img src='http://www.doublecloud.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>At its heart, the code generator is a reversed proxy which sits between a vSphere Client and vCenter or ESX(i) server, and intercepts the SOAP XML messages. With the XML messages, I designed the algorithm to automatically generate the Java code based on the open source Java API code.</p>
<p>Unlike Onyx, the Java code generator provides richer GUI which allows you to:</p>
<ul>
<li>Record both the requests and responses.</li>
<li>Sort the recorded messages in any order.</li>
<li>Generate complete code of any selected requests.</li>
<li>Save recorded messages to a local file, and read it back later.</li>
<li>Support raw HTTP data, XML, Java simultaneously in different tabs.</li>
</ul>
<p>Although the generator supports only Java today, I did designed it to be extensible architecture for other languages like Jython, JRuby, Perl, etc. When I have time, I will continue to work on these in the future.</p>
<p>Too much talk? Let’s take a peek at a few screenshots in <a href="http://www.doublecloud.org/doublecloud-proxy/" target="_blank">this page</a> which includes download link and getting started tutorial. Shorter than my 5 minute VI Java API tutorial, it should be less than one minute this time.</p>
<p>Hope you enjoy the tool and let me how you like it.</p>
<p><a href="http://www.doublecloud.org/2012/02/announcing-code-generator-for-vsphere-java-api/">Announcing Code Generator For vSphere Java API</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/02/how-to-set-up-proxy-with-vi-java-api/" title="How to Set Up Proxy With VI Java API?">How to Set Up Proxy With VI Java API?</a></li><li><a href="http://www.doublecloud.org/2010/02/automatically-generate-your-java-code-with-onyx/" title="Automatically Generate Your Java Code With Onyx?">Automatically Generate Your Java Code With Onyx?</a></li><li><a href="http://www.doublecloud.org/2012/01/why-vsphere-propertycollector-is-hard-by-design/" title="Why vSphere PropertyCollector Is Hard By Design?">Why vSphere PropertyCollector Is Hard By Design?</a></li><li><a href="http://www.doublecloud.org/2011/11/what-roles-does-a-user-have-in-vsphere/" title="What Roles Does A User Have in vSphere?">What Roles Does A User Have in vSphere?</a></li><li><a href="http://www.doublecloud.org/2011/11/discontinuous-response-stream-from-vsphere/" title="Discontinuous Response Stream from vSphere">Discontinuous Response Stream from vSphere</a></li><li><a href="http://www.doublecloud.org/2011/10/the-future-of-vi-java-api-and-how-you-can-help/" title="The Future of VI Java API and How You can Help">The Future of VI Java API and How You can Help</a></li><li><a href="http://www.doublecloud.org/2011/10/vi-java-api-5-0-ga-released/" title="VI Java API 5.0 GA Released">VI Java API 5.0 GA Released</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/EdS7CjKnoWM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/02/announcing-code-generator-for-vsphere-java-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/02/announcing-code-generator-for-vsphere-java-api/</feedburner:origLink></item>
		<item>
		<title>Management Middleware: The Future of Virtualization and Cloud Marketecture</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/oQF853S7lHI/</link>
		<comments>http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 06:08:14 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[middleware]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2811</guid>
		<description><![CDATA[While installing and configuring vCloud Director recently, I kept thinking how to simplify it by removing un-necessary concepts and steps. To be fair, vCloud Director as of version 1.5 does a decent job to provide a high level abstraction for cloud infrastructure. Still it can be significantly improved just like every other new technology. Note [...]<p><a href="http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/">Management Middleware: The Future of Virtualization and Cloud Marketecture</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>While installing and configuring vCloud Director recently, I kept thinking how to simplify it by removing un-necessary concepts and steps. To be fair, vCloud Director as of version 1.5 does a decent job to provide a high level abstraction for cloud infrastructure. Still it can be significantly improved just like every other new technology. Note that I pick vCloud Director as an example for the following discussion simply because VMware is the leader in virtualization space and what it does has ripple effects on other vendors.</p>
<p>To make things simpler, we have to answer a fundamental question on the marketecture: how should VMware position vCenter and vCloud Director in its product portfolio? Should their relationship be like application to application? Or should it be middleware to application?</p>
<p>I don’t think anyone has a clear answer, at least not yet reflected in the vCloud product itself. On one hand, it’s like and in fact intended to be middleware to application because vCloud Director depends on vSphere; on the other hand, it’s like application to application because you have to use vCenter to do all the basic configurations before vCloud Director can be installed and configured.</p>
<p>The current situation reminds me of early days of database as middleware: before you run your application, you first need to install your database separately and configure it manually to meet the requirements of the application, which includes manually run SQL scripts to create database tables in the database. You may wonder why not hide the database from the application administrators and users. Well, that is part of the history. Before it’s clear to everyone that database should be middleware, it’s natural to do that way.</p>
<p>I think we are at the similar turning point today in the <strong>virtualization management space where we should clearly divide the layers: hypervisors, middleware, and applications</strong>. For the hypervisors, there is little doubt. For the upper two layers, there could be confusions about what should go which layer, and more importantly where should be the right boundary of the virtualization management middleware and application.</p>
<p>Luckily we have a good example here. In my opinion, vCenter should be a middleware, and vCloud Director should be an application along with other applications.</p>
<p>The change of mindset is important. With that, we should first hide vCenter and any other related building blocks like vShield, just like in vCenter you don’t feel the existence of a database unless you intentionally dig into it.</p>
<p>Of course, you still need to install and configure vCenter, but do so within vCloud Director installer. Let me borrow an example from database world: your application installs a database and connects to it programmatically for creating new database tables and whatever preloaded datasets.</p>
<p>Following the same idea, vCloud Director should do the same: silently install a vCenter and create whatever provider datacenter programmatically. When that happens, I think the complexity exposed to the cloud administrators can be significantly reduced.<br />
Although I used VMware as an example here, the principles are also applicable for other vendors like Citrix, Microsoft, Red Hat, and Oracle in their virtualization management stacks.</p>
<p>With the right separation of virtualization middleware, there could be a rich portfolio of applications merging in the marketplace, and driving virtualization and enterprise IT management to next level. Companies that do it right can further penetrate the market and win more market shares.</p>
<p><strong>Note</strong>: this article talks about virtualization management middleware, not the middleware virtualization which is a different topic.</p>
<p><a href="http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/">Management Middleware: The Future of Virtualization and Cloud Marketecture</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2010/10/the-future-of-the-operating-system-in-cloud-computing/" title="The Future of the Operating System in Cloud Computing">The Future of the Operating System in Cloud Computing</a></li><li><a href="http://www.doublecloud.org/2012/01/cloud-innovation-interesting-use-cases/" title="Cloud Innovation: Interesting Use Cases">Cloud Innovation: Interesting Use Cases</a></li><li><a href="http://www.doublecloud.org/2012/01/physical-is-new-virtual/" title="Physical is New Virtual">Physical is New Virtual</a></li><li><a href="http://www.doublecloud.org/2011/12/top-5-predictions-on-cloud-computing-for-2012/" title="Top 5 Predictions on Cloud Computing for 2012">Top 5 Predictions on Cloud Computing for 2012</a></li><li><a href="http://www.doublecloud.org/2011/11/red-hat-enterprise-virtualization-management-apis/" title="Red Hat Enterprise Virtualization Management APIs">Red Hat Enterprise Virtualization Management APIs</a></li><li><a href="http://www.doublecloud.org/2011/09/vmware-released-vfabric-5/" title="VMware Released vFabric 5">VMware Released vFabric 5</a></li><li><a href="http://www.doublecloud.org/2011/08/programmable-data-centers-next-big-thing-in-it/" title="Programmable Data Centers: Next Big Thing in IT?">Programmable Data Centers: Next Big Thing in IT?</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/oQF853S7lHI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/</feedburner:origLink></item>
		<item>
		<title>Cloud Innovation: Interesting Use Cases</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/i3EhydSZseU/</link>
		<comments>http://www.doublecloud.org/2012/01/cloud-innovation-interesting-use-cases/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 20:19:36 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[mobile application]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2806</guid>
		<description><![CDATA[As I predicted for 2011, the cloud will be the ultimate powerhouse for mobile devices. The reason is simple: although fancy and stylish, the mobile devices typically do not have enough computing power and storage space for certain applications. While reading BusinessWeek magazine not long ago, I got to know that a company called Elemental Technologies [...]<p><a href="http://www.doublecloud.org/2012/01/cloud-innovation-interesting-use-cases/">Cloud Innovation: Interesting Use Cases</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>As I <a href="http://www.doublecloud.org/2010/12/top-5-predictions-on-cloud-computing-for-2011/" target="_blank">predicted</a> for 2011, the cloud will be the ultimate powerhouse for mobile devices. The reason is simple: although fancy and stylish, the mobile devices typically do not have enough computing power and storage space for certain applications.</p>
<p>While reading BusinessWeek magazine not long ago, I got to know that a company called Elemental Technologies in Portland Oregon is spearheading in that direction. The company develops a box that trans-codes videos to fit receivers’ seen size, resolution, OS, plug-ins, etc, which total up to 250 technological formats. According to the article, the company “plans to introduce a cloud based product so that smaller websites can use its technology without having their own datacenters or owing a video processing box outright.” That makes a lot of senses both technically and business wise.</p>
<p>Video processing is a great example that takes advantages of the computing power of the cloud. There are other domains as well.</p>
<p>I have a friend who ran a company who develops setup boxes (they don’t move as mobile phones but have similar limitations). To save cost, they want to use commodity CPUs in their setup boxes. But they still want their users to play advanced games that require significant amount of computing power. They finally decided to use servers back in their datacenters for computing and render the screen to users’ TVs.</p>
<p>If it sounds a little abstract, think it as another version of remote desktop where setup box is a thin client remotely connected to a desktop running at the back. By doing so, they can achieve significant advantages with lowered setup box prices and flexibility in upgrading their computing power in datacenter alone.</p>
<p>I am sure there are many more interesting examples you may know of. Please feel free to share them in comments.</p>
<p><a href="http://www.doublecloud.org/2012/01/cloud-innovation-interesting-use-cases/">Cloud Innovation: Interesting Use Cases</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/" title="Management Middleware: The Future of Virtualization and Cloud Marketecture">Management Middleware: The Future of Virtualization and Cloud Marketecture</a></li><li><a href="http://www.doublecloud.org/2011/05/managing-vsphere-on-android-using-vi-java-api/" title="Managing vSphere on Android using VI Java API">Managing vSphere on Android using VI Java API</a></li><li><a href="http://www.doublecloud.org/2010/11/top-3-trends-every-it-professional-should-care-about/" title="Top 3 Trends Every IT Professional Should Care About">Top 3 Trends Every IT Professional Should Care About</a></li><li><a href="http://www.doublecloud.org/2010/08/eclipse-day-at-googleplex-a-brief-trip-report/" title="Eclipse Day at GooglePlex: A Brief Trip Report">Eclipse Day at GooglePlex: A Brief Trip Report</a></li><li><a href="http://www.doublecloud.org/2010/02/3-easy-ways-connecting-to-your-vm-in-private-cloud/" title="3 Easy Ways Connecting to Your VM in Private Cloud">3 Easy Ways Connecting to Your VM in Private Cloud</a></li><li><a href="http://www.doublecloud.org/2010/01/my-contribution-mentioned-in-vmware-news-release/" title="My contribution mentioned in VMware news release">My contribution mentioned in VMware news release</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/i3EhydSZseU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/01/cloud-innovation-interesting-use-cases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/01/cloud-innovation-interesting-use-cases/</feedburner:origLink></item>
		<item>
		<title>Why vSphere PropertyCollector Is Hard By Design?</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/AbYzFo08E3k/</link>
		<comments>http://www.doublecloud.org/2012/01/why-vsphere-propertycollector-is-hard-by-design/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 05:01:21 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[vSphere API]]></category>
		<category><![CDATA[propertycollector]]></category>
		<category><![CDATA[vi java api]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2797</guid>
		<description><![CDATA[If you’ve had a chance to use vSphere Web Service SDK, you must know the PropertyCollector is very hard to use. It takes a newcomer quite some time to learn how to use it, and even more time to learn to use it effectively. Luckily, you no longer have to if you use the open source [...]<p><a href="http://www.doublecloud.org/2012/01/why-vsphere-propertycollector-is-hard-by-design/">Why vSphere PropertyCollector Is Hard By Design?</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>If you’ve had a chance to use vSphere Web Service SDK, you must know the <a href="http://vijava.sourceforge.net/vSphereAPIDoc/ver5/ReferenceGuide/vmodl.query.PropertyCollector.html" target="_blank">PropertyCollector</a> is very hard to use. It takes a newcomer quite some time to learn how to use it, and even more time to learn to use it effectively. Luckily, you no longer have to if you use the open source <a href="http://vijava.sf.net/" target="_blank">vSphere Java API (a.k.a. vijava)</a> because it has encapsulated the PropertyCollector behind these newly added getter methods of the managed object types.</p>
<p>Still, a question has lingered in my mind for a while: “Why was the PropertyCollector designed to be hard?” If you have a similar question, this article is for you. Note that this is just my own thoughts. Hope it offers a good explanation, and more importantly you can learn from it for your future designs.</p>
<p>Although vCenter and ESX/ESXi have implemented the same API interfaces, the vSphere API is mainly for vCenter and heavily influenced by vCenter. Functionality wise, vCenter supports almost all the APIs, while ESX/ESXi does part of them. It’s not strictly superset/subset relationship but pretty close.</p>
<p>As you know, the vCenter is built on top of relational databases, either Oracle or Microsoft SQL Server. With the vFabric Data Director and vPostgress, we can expect Postgress to be used. Why? According to Paul Maritz, you got to eat your own dog food.</p>
<p>So vCenter is a database centric application in server form. What does it really mean? At a high level, the managed object types are mapped to tables in the database; managed object instances to records; properties to fields. The <a href="http://www.doublecloud.org/2011/06/managedobjectreference-vs-managedobject/" target="_blank">ManagedObjectReference</a> includes both type (table) and value (primary key). Secondly, different threads in vCenter share information via database.</p>
<p>With that in mind, the PropertyCollector is really an interface to the database retrieving different tables (managed object types) and their fields (properties). It’s very natural to design something like PropertyCollector, a single type that is responsible for getting all properties of all managed objects. Also with SOAP Web Services, it does not make much sense (check out the <a href="http://msdn.microsoft.com/en-us/library/ff649585.aspx" target="_blank">data transfer object design pattern</a>) to provide numerous getters, each of which corresponds to a property.</p>
<p>While the single type making sense, the interface design can be improved however. The most common use case of PropertyCollector is to retrieve a property from a managed object. With the existing interfaces, you got to work with several data objects to specify what you want. It of course works but isn’t easy to use. Ideally it should have included a simple interface as follows:</p>
<pre class="brush: java; title: ; notranslate">Object getProperty(ManagedObjectReference obj, String propName)</pre>
<p>This simple property retrieval is, however, not the most common usage of PropertyCollector in vSphere Client which has been the first and still the most important application built on top of vSphere API. This is yet another reason why the PropertyCollector is hard to use – its major application vSphere Client has different requirements that have been satisfied, therefore there hasn’t been enough incentives to improve the design.</p>
<p>Now, how to bridge the gap? I think the open source vSphere Java API has demonstrated a good approach. Should you be interested in how, you can check out the code. The architecture is designed so that other distributed system can leverage it as well. So you may still find it useful even if you are not using VMware vSphere.</p>
<p><a href="http://www.doublecloud.org/2012/01/why-vsphere-propertycollector-is-hard-by-design/">Why vSphere PropertyCollector Is Hard By Design?</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/09/one-more-secret-about-session-management-in-vsphere/" title="One More Secret About Session Management in vSphere">One More Secret About Session Management in vSphere</a></li><li><a href="http://www.doublecloud.org/2011/09/fixed-a-bug-in-client-rest-api/" title="Fixed a Bug in Client REST API">Fixed a Bug in Client REST API</a></li><li><a href="http://www.doublecloud.org/2011/08/workaround-vsphere-java-api-with-java-web-start/" title="Workaround: vSphere Java API with Java Web Start">Workaround: vSphere Java API with Java Web Start</a></li><li><a href="http://www.doublecloud.org/2011/06/moving-virtual-machine-back-from-distributed-virtual-switch/" title="Moving Virtual Machine Back From Distributed Virtual Switch">Moving Virtual Machine Back From Distributed Virtual Switch</a></li><li><a href="http://www.doublecloud.org/2011/06/is-serverguid-attribute-really-needed-in-vsphere/" title="Is serverGuid Attribute Really Needed in vSphere?">Is serverGuid Attribute Really Needed in vSphere?</a></li><li><a href="http://www.doublecloud.org/2011/06/managedobjectreference-vs-managedobject/" title="ManagedObjectReference vs ManagedObject">ManagedObjectReference vs ManagedObject</a></li><li><a href="http://www.doublecloud.org/2011/06/most-used-api-in-vsphere/" title="Most Used API in vSphere">Most Used API in vSphere</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/AbYzFo08E3k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/01/why-vsphere-propertycollector-is-hard-by-design/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/01/why-vsphere-propertycollector-is-hard-by-design/</feedburner:origLink></item>
		<item>
		<title>Physical is New Virtual</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/Up9vATzUwDw/</link>
		<comments>http://www.doublecloud.org/2012/01/physical-is-new-virtual/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 01:52:09 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[ucs]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2794</guid>
		<description><![CDATA[New generation of computer hardwares have virtualization built-in and act like virtual machines. The articles explains what features make difference and why they matter.<p><a href="http://www.doublecloud.org/2012/01/physical-is-new-virtual/">Physical is New Virtual</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>I went to EMC office at Milford, MA last week for a 5 day training class on Vblock Administration. As you may have known, VCE <a href="http://www.vce.com/vblock/" target="_blank">Vblock</a> is the industry’s first and leading converged infrastructure with compute, network, and storage from industry leaders. For the compute, it uses Cisco UCS. If you have followed my blog, you should know that I have blogged about the <a href="http://www.doublecloud.org/2011/11/cisco-ucs-emulator/" target="_blank">UCS emulator</a> and <a href="http://www.doublecloud.org/2011/11/cisco-ucs-management-apis/" target="_blank">XML management APIs</a>.</p>
<p>One key differentiator of UCS is the service profile and related service profile template. The service profile is a server’s identity – it abstracts out the basic characteristics of a blade server, for example, UUID, MAC addresses, boot policy, etc. It can be dynamically applied to a blade server, meaning the physical blade server does not carry these characteristics and can be replaced without any impact. It also means that the same blade server can become a different server with a different service profile. It’s much like the virtual machine hardware.</p>
<p>A service profile can also be moved onto another blade server (to be exact, chassis slot owns a service profile, not blade server) either in the same or other chassis as long as managed by same UCS manager. After the new blade server boots up, it runs exactly the same OS/applications as before although it’s really a different physical server. Does it sound familiar to you? I bet. In some way, it’s like vMotion in virtual world except that it’s not a live but cold migration.</p>
<p>Similar to virtual machine templates, UCS uses service profile templates. A service template aggregates pools (UUID, MAC, WWPN, WWNN), policies (LAN: QoS, Dynamic vNIC connection, flow control, threshold; SAN: threshold; Server: adapter, BIOS, boot, local disk, firmware, vNIC/vHBA placement) and connectivity (vNIC, vHBA) templates, and can be instantiated to new service profiles on the fly. This helps not only speed up the deployment of servers, but also standardize the configurations of blade servers.</p>
<p>With these being said, I hope you would agree with me that UCS has virtualization features built-in. It should not come as a surprise if you know the history of UCS: one of VMware founders <a href="http://www.linkedin.com/pub/edouard-bugnion/0/1b/956">Edouard Bugnion</a> had led the design of UCS at Nuova Systems which was acquired by Cisco in May 2008.</p>
<p>You may now wonder, “Do I still need VMware vSphere or other hypervisors if I have UCS already?” Great question. I will talk about it later, and more importantly, explain when you do and when you don’t. Stay tuned.</p>
<p><a href="http://www.doublecloud.org/2012/01/physical-is-new-virtual/">Physical is New Virtual</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/11/cisco-ucs-management-apis/" title="Cisco UCS Management APIs">Cisco UCS Management APIs</a></li><li><a href="http://www.doublecloud.org/2011/11/cisco-ucs-emulator/" title="Cisco UCS Emulator">Cisco UCS Emulator</a></li><li><a href="http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/" title="Management Middleware: The Future of Virtualization and Cloud Marketecture">Management Middleware: The Future of Virtualization and Cloud Marketecture</a></li><li><a href="http://www.doublecloud.org/2011/12/top-5-predictions-on-cloud-computing-for-2012/" title="Top 5 Predictions on Cloud Computing for 2012">Top 5 Predictions on Cloud Computing for 2012</a></li><li><a href="http://www.doublecloud.org/2011/11/red-hat-enterprise-virtualization-management-apis/" title="Red Hat Enterprise Virtualization Management APIs">Red Hat Enterprise Virtualization Management APIs</a></li><li><a href="http://www.doublecloud.org/2011/08/programmable-data-centers-next-big-thing-in-it/" title="Programmable Data Centers: Next Big Thing in IT?">Programmable Data Centers: Next Big Thing in IT?</a></li><li><a href="http://www.doublecloud.org/2011/07/success-story-cisco-data-center-network-manager/" title="Success Story: Cisco Data Center Network Manager">Success Story: Cisco Data Center Network Manager</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/Up9vATzUwDw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/01/physical-is-new-virtual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/01/physical-is-new-virtual/</feedburner:origLink></item>
		<item>
		<title>Why So Many Programming Languages?</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/jVZCNul9-9k/</link>
		<comments>http://www.doublecloud.org/2012/01/why-so-many-programming-languages/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 02:59:08 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming language]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2787</guid>
		<description><![CDATA[While checking out the search engine terms to my blog, I found an interesting one there: &#8220;why so many programming languages?&#8221; A great question indeed. If you take a look at the Wikipedia page on programming languages, you will be surprised by the number of programming languages today. To give you a hint, the languages [...]<p><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/">Why So Many Programming Languages?</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>While checking out the search engine terms to my blog, I found an interesting one there: &#8220;why so many programming languages?&#8221; A great question indeed. If you take a look at the <a href="http://en.wikipedia.org/wiki/List_of_programming_languages" target="_blank">Wikipedia page on programming languages</a>, you will be surprised by the number of programming languages today. To give you a hint, the languages are categorized into different sections by their first letters. When I browsed the page, I found most of them were new to me and will definitely remain so in the future. <img src='http://www.doublecloud.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Now let’s get to the question of why. The simple answer is because there are so many programmers who created them. This is of course not the ideal answer but heading the right direction.</p>
<p>From technical aspect, we need a variety of programming languages for a variety of projects. We cannot expect one programming language killing all. Programming languages like C are very good at lower level programs like device driver, but not much so at high level application development. A generic application programming language may not be the best for Web application development. So there is a real demand for various programming languages.</p>
<p>From historical aspect, a lot of programming languages were created over the last 60 years or so since computer was invented. Some of them are actually no longer active, or limited to very specialized community. Surprisingly, the life time of a programming language can be longer than most of us can imagine. Just think about COBOL – we’ve been thinking it’s dying in the last 20 years but it’s live and was in high demand around year 2000. This accumulated effect has definitely contributed to the sheer number of programming languages.</p>
<p>Although thousands of choices today for programming languages, you don’t need to learn all of them, but one or a few of them. You can definitely make a good living if you can program well in one programming, but most likely one is not enough if you choose to be a programmer. Ideally, you want to learn C, one of Java/C#, and one of Python/Perl/Ruby. From there, it’s very easy to learn other if needed by a project.</p>
<p>Having discussed these, it still does not really explain why so many and new programming languages keep coming. I am also surprised by some magazines’ “language of the month.” I think even once a month is not enough for the new languages, most of which are simply ignored by the programmers at large.</p>
<p>While keeping trying new languages is good, most of them are simply rehashing whatever available in other languages today. Knowing it most like not going anywhere, some programmers keep inventing new languages in a similar way as people who want to be a popular movie star someday.</p>
<p>It reminds me an article I read before (sorry that I cannot find it any more). It basically discussed the programmer visibilities per types of software. I think the programming language is listed the first there, followed by operating systems, and APIs/frameworks, and applications. Now you understand the motivations of creating new programming languages.</p>
<p>Don’t get me wrong here. Nothing is wrong for a programmer to gain visibility. Everyone needs a motivation. Be it visibility or something else is purely personal choice that we should honor. Without the motivations, we wouldn’t have a rich portfolio of programming languages to choose from. For the same token, the richness can cause some confusions as well. That is just two sides of so many programming languages. After all, too many choices is better than no choice. Agree?</p>
<p><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/">Why So Many Programming Languages?</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/07/how-many-programming-languages-are-enough/" title="How Many Programming Languages Are Enough?">How Many Programming Languages Are Enough?</a></li><li><a href="http://www.doublecloud.org/2010/12/squares-aren%e2%80%99t-rectangles-a-common-misunderstanding-of-object-oriented-design-from-msdn-magazine/" title="Squares Aren’t Rectangles? A Common Misunderstanding of Object Oriented Design From MSDN Magazine">Squares Aren’t Rectangles? A Common Misunderstanding of Object Oriented Design From MSDN Magazine</a></li><li><a href="http://www.doublecloud.org/2011/08/hub-programming-language-does-it-matter-to-you/" title="Hub Programming Language: Does It Matter To You?">Hub Programming Language: Does It Matter To You?</a></li><li><a href="http://www.doublecloud.org/2011/07/java-se-7-released-finally/" title="Java SE 7 released, finally!">Java SE 7 released, finally!</a></li><li><a href="http://www.doublecloud.org/2010/11/really-simple-guidelines-to-write-great-code-samples/" title="Really Simple Guidelines to Write Great Code Samples">Really Simple Guidelines to Write Great Code Samples</a></li><li><a href="http://www.doublecloud.org/2010/04/top-20-most-popular-programming-languages/" title="Top 20 Most Popular Programming Languages">Top 20 Most Popular Programming Languages</a></li><li><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/" title="Chasing Moving Targets">Chasing Moving Targets</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/jVZCNul9-9k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/01/why-so-many-programming-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/01/why-so-many-programming-languages/</feedburner:origLink></item>
		<item>
		<title>Random Thoughts on IT Automation</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/EXKWkNw7Njo/</link>
		<comments>http://www.doublecloud.org/2012/01/random-thoughts-on-it-automation/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 07:00:32 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2783</guid>
		<description><![CDATA[IT automation is key to IT efficiency, agility and control. Here are some of my recent thoughts on this topic. Please feel free to share yours. People and Automation All automations ultimately start from people, not the other way around. Although automation has a role, it never takes the place of a good system administrator. [...]<p><a href="http://www.doublecloud.org/2012/01/random-thoughts-on-it-automation/">Random Thoughts on IT Automation</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>IT automation is key to IT efficiency, agility and control. Here are some of my recent thoughts on this topic. Please feel free to share yours.</p>
<p><strong>People and Automation</strong></p>
<ul>
<li>All automations ultimately start from people, not the other way around.</li>
<li>Although automation has a role, it never takes the place of a good system administrator.</li>
<li>Not everything can be automated, and not everything is worth being automated.</li>
<li>Automation is never a self-propelled perpetual motion machine. It needs a driver – the human being.</li>
<li>While system administrators in the driver seats, good feedbacks from the IT system are like dashboard and therefore indispensable.</li>
<li>Good automation should empower system administrators to do works more efficiently and more consistently.</li>
<li>An automated workflow is like a recipe. The goal is to repeat it in a consistent way regardless of cook.</li>
</ul>
<p><strong>Automation and APIs</strong></p>
<ul>
<li>Automation is possible if and only if the target is programmable. Therefore APIs are crucial to automation.</li>
<li>Reactive automation is possible only if the target is observable with metrics via APIs.</li>
<li>Unified management APIs are helpful for a unified view of underlying infrastructure therefore simplify the automation development.</li>
<li>API interoperability is a must to avoid automation islands in large scale IT systems.</li>
</ul>
<p><strong>Policy vs. Script</strong></p>
<ul>
<li>Policy is easier to understand and author, but less flexible to extend beyond what’s already supported than scripting.</li>
<li>Policy is good for most common use cases that don’t change much over time, while scripting is good for less common use cases that are hard to define their structures.</li>
<li>With many automation scripts in place, the question of how I can get a work done becomes which script I should run.</li>
<li>The &#8220;cloudier&#8221; an IT system, the more scripting for automation.</li>
</ul>
<p><a href="http://www.doublecloud.org/2012/01/random-thoughts-on-it-automation/">Random Thoughts on IT Automation</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/12/book-the-art-of-scalability/" title="Book: The Art of Scalability">Book: The Art of Scalability</a></li><li><a href="http://www.doublecloud.org/2011/06/it-automation-a-cognitive-perspective/" title="IT Automation: A Cognitive Perspective">IT Automation: A Cognitive Perspective</a></li><li><a href="http://www.doublecloud.org/2011/05/it-automation-what-does-it-mean-to-you/" title="IT Automation, What Does It Mean To You?">IT Automation, What Does It Mean To You?</a></li><li><a href="http://www.doublecloud.org/2011/01/book-review-6-musts-of-intelligent-system-automation/" title="Book Review: 6 Musts of Intelligent System Automation">Book Review: 6 Musts of Intelligent System Automation</a></li><li><a href="http://www.doublecloud.org/2010/06/computerworld-best-places-to-work-in-it-2010/" title="ComputerWorld: Best Places to Work in IT 2010">ComputerWorld: Best Places to Work in IT 2010</a></li><li><a href="http://www.doublecloud.org/2010/03/3-phases-and-challenges-in-cloud-journey-for-enterprises/" title="3 Phases and Challenges in Cloud Journey for Enterprises">3 Phases and Challenges in Cloud Journey for Enterprises</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/EXKWkNw7Njo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/01/random-thoughts-on-it-automation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2012/01/random-thoughts-on-it-automation/</feedburner:origLink></item>
		<item>
		<title>Top 5 Predictions on Cloud Computing for 2012</title>
		<link>http://feedproxy.google.com/~r/Doublecloud/~3/1mrw2mngZ8A/</link>
		<comments>http://www.doublecloud.org/2011/12/top-5-predictions-on-cloud-computing-for-2012/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 02:06:49 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[IaaS]]></category>
		<category><![CDATA[PaaS]]></category>
		<category><![CDATA[prediction]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2778</guid>
		<description><![CDATA[After finishing up my reflection of 2011 predictions , it’s time to make my predictions for 2012 as today is the last day of 2011. 1. Virtualization war will be heated between VMware and Microsoft. The trigger will be the Hyper-V 3.0 which is expected to ship in the middle of 2012 with the Windows 8 [...]<p><a href="http://www.doublecloud.org/2011/12/top-5-predictions-on-cloud-computing-for-2012/">Top 5 Predictions on Cloud Computing for 2012</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>After finishing up <a href="http://www.doublecloud.org/2011/12/reflection-on-my-predictions-on-cloud-computing-for-2011/" target="_blank">my reflection of 2011 predictions </a>, it’s time to make my predictions for 2012 as today is the last day of 2011. <img src='http://www.doublecloud.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>1. Virtualization war will be heated between VMware and Microsoft</strong>. The trigger will be the Hyper-V 3.0 which is expected to ship in the middle of 2012 with the Windows 8 server. According to many people, the 3.0 release will bring it on par or better than latest VMware hypervisor.</p>
<p>Gartner <a href="http://www.pcworld.com/businesscenter/article/243216/virtualization_wars_vmware_vs_hyperv_vs_xenserver_vs_kvm.html" target="_blank">predicted</a> that by 2012 “Hyper-V will account for 27% of the market, up from 11% two years ago. Within that projected 27%, Gartner says Microsoft will have captured 85% of all businesses with less than 1,000 employees that use virtual servers.” The last 85% is a bit <strong>alarming</strong> because Microsoft is known for growing market share from small to big, and then to dominance.</p>
<p>The license change in vSphere 5 in 2011 also has a profound and lasting impact on the competition besides the improvements of Hyper-V. While the diversification continuing, VMware continues to lead in terms of technology and market shares. The coming 2012 will be a real test for VMware whether it can effectively defend against competition from Microsoft.</p>
<p>In longer term, I think the competition landscape of VMware and Microsoft in virtualization is probably like that of Oracle and Microsoft in database. Whatever tricks Oracle has used should work for VMware to defend its market share because they are all market leaders and target enterprise customers.</p>
<p><strong>2. More Packaged Applications will be delivered as SaaS.</strong> Traditional software vendors simply cannot ignore cloud story even though it may cut into the current revenue of existing license sales. Embracing cloud model may also open doors to new customers and new market opportunities.</p>
<p>Technically, vendors don’t need to redesign software for the cloud but repackage it as a virtual machine or a set of virtual machines. For most ISVs, redesigning software for cloud doesn’t justify the extra cost of not sharing resources like databases, operating systems.</p>
<p><strong>3. PaaS market will be flat.</strong> While PaaS made great progresses in 2011 and continues to appeal much to the developers, it won’t have significant growth in 2012.</p>
<p>I think that three factors limit the PaaS as a substantial business opportunity. First, developers like the convenience but still prefer the ultimate freedom to control underlying platforms, which is not only impossible but also somewhat against the PaaS ideology.</p>
<p>Second, most PaaS is not ready for real production systems, where the <em>big money</em> is today. Most production systems are so complicated and demanding that they are not feasible via PaaS model. Also, once a production is set up, it’s not likely needing a PaaS.</p>
<p>Thirdly, most enterprise is not yet ready to run business applications outside their premises due to various concerns like security, compliance, etc.</p>
<p>Generally speaking, the PaaS will largely remain as a testing and development platform in short term until the 3 factors are effectively resolved.</p>
<p><strong>4. IT in a box is the private cloud for enterprises.</strong> It’s not about converged hardware infrastructure, but also the packaged software solutions. Integration and automation will be the main themes. With the cloud box, enterprises will enjoy the benefits of cloud computing while avert much of the conventional burdens of assembling hardware infrastructures and installing software stacks.</p>
<p>The enterprise job market will reflect these changes. When the networking, storage, and compute converge, so will the organizations and people&#8217;s skill sets.</p>
<p><strong>5. The cross powering of mobile and cloud will continue.</strong> As I predicted last year, the cloud will be the ultimate power for mobile computing. The trend will continue in 2012. New mobile devices are widely supported by enterprises. There are more to do on syncing up the contents across them.</p>
<p>Also, mobile devices are not powerful for some sophisticated data processing that demands CPU/GPU powers. The cloud can definitely off help there. The mobile computing makes the cloud more accessible and more appealing to average users.</p>
<p>That is about it. Wish you all a great 2012! Please remember to come back for the review of these predictions by the end of 2012. <img src='http://www.doublecloud.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://www.doublecloud.org/2011/12/top-5-predictions-on-cloud-computing-for-2012/">Top 5 Predictions on Cloud Computing for 2012</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2010/12/top-5-predictions-on-cloud-computing-for-2011/" title="Top 5 Predictions on Cloud Computing for 2011">Top 5 Predictions on Cloud Computing for 2011</a></li><li><a href="http://www.doublecloud.org/2010/12/cloud-architecture-patterns-service-vm/" title="Cloud Architecture Patterns: Service VM">Cloud Architecture Patterns: Service VM</a></li><li><a href="http://www.doublecloud.org/2010/11/cloud-architecture-patterns-app-vm/" title="Cloud Architecture Patterns: App VM">Cloud Architecture Patterns: App VM</a></li><li><a href="http://www.doublecloud.org/2011/12/reflection-on-my-predictions-on-cloud-computing-for-2011/" title="Reflection on My Predictions on Cloud Computing for 2011">Reflection on My Predictions on Cloud Computing for 2011</a></li><li><a href="http://www.doublecloud.org/2011/01/quickest-way-to-support-saas-cloud-for-isvs/" title="Quickest Way to Support SaaS Cloud for ISVs">Quickest Way to Support SaaS Cloud for ISVs</a></li><li><a href="http://www.doublecloud.org/2010/10/the-future-of-the-operating-system-in-cloud-computing/" title="The Future of the Operating System in Cloud Computing">The Future of the Operating System in Cloud Computing</a></li><li><a href="http://www.doublecloud.org/2010/08/vertically-complete-systems-next-big-trend/" title="Vertically Complete Systems: Next Big Trend?">Vertically Complete Systems: Next Big Trend?</a></li></ul><img src="http://feeds.feedburner.com/~r/Doublecloud/~4/1mrw2mngZ8A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/12/top-5-predictions-on-cloud-computing-for-2012/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.doublecloud.org/2011/12/top-5-predictions-on-cloud-computing-for-2012/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.270 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-02-08 12:33:31 -->

