VMware and SalesForce just introduced VMforce and interesting blend of VMware's Spring framework with SalesForce's Cloud platform. Once you have authenticated into the Cloud you can drag-and-drop a Spring program from the development environment directly to the Cloud. For applications that leverage what's already in SF and Force.com being able to write programs in Spring is quite powerful. If, as Paul Maritz seems to believe, enterprise Java developers significantly outnumber Windows application developers, this will be a very important step. If the inverse is true then Windows Azure is a much richer program because of all the existing Windows apps, the maturity of the Windows application model and programming tools, and because of some of the other aspects of Azure (SQL data services, the Azure Fabric Controller). Time will tell.
Having been infused with discussion of the private cloud, it was time for a regular pilgrimage to MS PDC in LA (a road trip down I5!). Microsoft's offering (and story) is much more complex: they are a huge software company with a wide spectrum of offerings; they have been in the online business for years; they have a long term investment (and large business) in systems management. Ray Ozzie's first big keynote was at the MIX conference in 2008, then Azure was discussed at PDC last year, virtualization and operational management is normally the topic of MMS, and of course TechEd is where the enterprise products are discussed. Utility computing and clouds span all of these venues. In the private cloud discussions, Microsoft's contributions and capabilities are usually deprecated. VMware is clearly the leader in enterprise virtualization and after all, cloud computing is high-end, complex virtualization, right, and therefore clearly not Microsoft's strength. But of course, it isn't so simple. VMware's big recent strategic move was the acquisition of Spring Source and the Spring framework, and Microsoft was deeply into frameworks (first MFC and then the .Net framework) long, long ago, and Microsoft has a long term investment in system management as well, with a systems management business comparable to all of VMware. And then of course, Microsoft has been building very large scale Web properties including Azure. So who exactly is to say that Microsoft can't do private clouds and utility computing? Certainly not Microsoft. It wasn't the focus at PDC. Azure, Windows 7 and Silverlight were. Azure goes live as a business in January 2010 and it looks really interesting based on what's been done so far. Specifically, in a parallel effort, Microsoft has been developing SQL Services for the cloud, now rebranded as SQL Azure, and at PDC they announced "Dallas" — a project to build relationships with all sorts of interesting data providers, and make these data sets available, on demand, priced by the sip, on Azure. And then the Live Labs team talked about Pivot, a tool that allows for the visual browsing of large data sets using the Deep Zoom technology (also integrated with Silverlight although Pivot isn't yet a Silverlight application). It's sort of like the BestBuy eCommerce interface on your favorite data set (you have to see a demo to really get it I'm afraid). Quest Software demoed an Active Directory backup service built on Azure (it really highlights the value of all the Windows infrastructure compatibility). And then of course all of the Office/Exchange/SharePoint stuff is increasingly wound into this model as well. And then there is Silverlight, which grows more powerful by the day (literally) — some 26 months since it was introduced they are beta releasing Silverlight 4. The Silverlight team thinks that usage will start to explode when they can reach 50% PC penetration (Flash is still higher). At the Silverlight 3 launch this summer they were at 33%; at PDC they said 45%, so 50% by the end of the year looks quite possible (Microsoft gains installation share the good old fashioned way by doing things like NFL Sunday Night Football and the upcoming Victoria's Secret fashion show). The point is that if you add up everything Microsoft is bringing to bear its pretty amazing and seems to sort of fit together in a tantalizing way. The back story is that Microsoft is working to integrate the Azure Fabric Controller (what was developed beyond Windows to make a Cloud version of Windows) with System Center as the basis of a private cloud technology. It was hinted that they are in Beta with significant customers (since Azure goes business live in a month, the code base is reasonably shaken down). We think all this will come to light in the first quarter or so at Mix or MMS.
In the last issue I wrote about how VMware's acquisition of SpringSource gives them a way to interact directly with application developers, and how valuable a framework may turn out to be in Cloud and Utility computing as a way of solving important infrastructure optimization issues (like edge acceleration) without requiring the application developer to understand all the nasty bits. VMware has something even more important in mind I think: what their Analyst Day talks hinted at was that they thought that applications built on the framework could be instrumented and automatically managed as a result. If you remember, IBM tried "Autonomic" computing some time ago, and couldn't really make it work. It seems pretty clear that an executable binary is much too cryptic to make sense of at run time for broader management purposes. Things improve with virtualization because it's much easier to see what the application is doing (if not to understand it). With a framework, things improve still more because you see more of the program structure at the framework abstraction layer, and as VMware notes, you can instrument the framework to give you more useful information about what the program is doing. Are these changes enough to make something like autonomic computing really work? Remember, the goal is a smart data center than automatically dynamically adjusts to accommodate evolving load, hardware and software failure, issues of scaling, ... Our friends at Microsoft would argue I think that this isn't going to work for VMware. Microsoft thinks that by the time you get an executable program all the interesting information about the program (the design intent, how it performs and scales, how you can tell it's in trouble) has been removed or encrypted beyond all hope. Microsoft's approach (Dynamic IT) is based on the idea of capturing and preserving key design and operational data in a declarative form, and using all this in the data center to achieve the goal. Virtualization changes the game enough to make VMware's direction worth looking into, but if you asked me now, I wouldn't bet the rent money they can make it work anymore than IBM could.
Paul Maritz seemed a little discouraged that the analysts didn't want to ask questions about SpringSource, which is understandable since the acquisition clearly has strategic importance for VMware beyond the $420M they are paying (not chump change). The lack of questions isn't surprising if you ask how many of those analysts really know what a framework is (having managed Dev Tools for Apple, I do.) The underlying question is whether VMware can thrive building systems that manage virtual machines or whether they need to get much more involved in what happens within those VM's in order to solve the customers' important problems and profit by providing those solutions. I've never thought that VM's were the do-all, end-all, and apparently VMW has come to the same conclusion. A framework is an architecture for implementing applications and a lot of code ("subroutines" in the good old days) to support that architecture and make application programming easier by providing a higher level abstraction. Utility and Cloud computing have great benefits but come with their own challenges. For example, what kind of data storage systems work well across multiple data centers and improve application performance for remote users? Or how do you know enough about what an application is doing in order to better automate its operation (e.g., provide desired availability and scaling)? In both cases, VMware's ability to play in the game is considerably improved with access to a framework than if complex technology can be largely concealed under the framework abstraction and just come to play when needed behind the scenes without much involvement from the application programmer. Microsoft already has broadly used frameworks (Microsoft Foundation Classes and more recently the .NET Framework). It's really hard to create a framework from scratch — the value of a framework goes up quickly as more people use it so you need both the framework and the users. The Spring Framework was created as an alternative to complexity of what Sun had developed for Java application architecture, and caught on in no small part because it was open source and free. As a way of getting into the framework business (more specifically, getting in a position of influence with the developer community and being able to add mechanism behind the scenes) VMW didn't have many alternatives and SpringSource was by far the best, subject only to the high cost (spending $420M for SpringSource isn't "accretive" by any stretch of the imagination). As noted above, it isn't as if MS doesn't have frameworks or developers — they certainly do — but it does redefine how VMW views the competition and competes. (VMware declined to comment on this story)
Up until now, VMware treated security by saying as little as possible about it, knowing that arguing that virtualization didn't open up new security surface area just gave credibility to the thought that maybe it did (let sleeping dogs lie) which could only impede sales. Now that VMware is looking beyond the individual virtual machine, and thinking about the Cloud, they have started to talk (credibly) about how virtualization actually helps security. The issues are ultimately complicated (thank goodness there are bright analysts to think about them J ) but here's the basic story line. (1) If you want to talk seriously about the Cloud or even utility computing you need to talk about entire applications — virtual applications or Vapps — that include all the bits needed to get the job done, not about single virtual machines. (2) In order to deploy a Vapp to the Cloud (or even to a private utility or DR data center) you need to specify how it is to be protected. At first blush, a good answer is "just like you did before" except now the security can be largely provided by virtual appliances rather than the physical appliances used previously. (3)When specified on a Vapp by Vapp basis, and implemented by virtual appliances, the security can be as specific and customized as desired. For example, you can think about offering data leakage protection (DLP) tailored to the function and specifics of the application. You need to bind these security specifications in with the other application details so you know what else needs to be provisioned when the application is provisioned and you know where you can and cannot run the application (e.g., what other applications you can co-mingle with). Where it makes sense, part or all of the security can be specified parametrically (e.g., "PCI protection") so that as the regulations change, the specifics of the protection change automatically. VMW's observation is that binding security to the application and assuring it is provisioned as specified is a lot better than what we have now, where in most cases this is partially a manual process, and often requires coordination between multiple teams, all of which is complex, expensive, and prone to errors. The automation also makes it possible (and reasonable) to be much more specific about each application which is also good. Thus, virtualization makes security easier and better.