VMware, SpringSource and What’s Not Appropriate to Say
The acquisition of SpringSource that VMware has announced is going to change the way the industry as a whole perceives and segments the key players in the x86 virtualization market. I think most people (myself included) need to change gear and look at the whole thing from a new perspective. In this article I am going to talk more about a concept that I have been thinking about lately: virtualization is becoming more and more broad and deep.
This is clearly becoming a two-horse race between Microsoft and VMware whereas Citrix is going to be forced to gravitate around Microsoft in the "broad and deep" context I am going to discuss hereafter.
When I heard about VMware and SpringSource, all of a sudden I realized the world is changing for all of us virtualization geeks. First and foremost those that have only been bothering about low level infrastructure virtualization details - such as VMotion compatibilities, cluster configurations, storage integrations and so forth - will have a hard time keeping up with what's going on in the industry. Virtualization vendors are "moving up the stack" very quickly so you'd better start familiarizing with concepts and technologies around Development Frameworks, Integrated Development Environment (IDE) and stuff like that. Not the sort of things Systems Engineers (aka infrastructure people) paid too much attention to - until now.
Those that have grown up with VMware in the virtualization arena have always focused their efforts on hypervisor capabilities first (I still remember my very first customer implementation where we were piloting a beta version of ESX 1.1) and subsequently on the infrastructure capabilities that VMware made available throughout the years (things like Virtual Center with all its associated functionalities as well as add-on products such as SRM and the like). This is the "standard dimension" we all are very familiar with and I would define this dimension as broad. Basically VMware broadened its value prop moving from the hypervisor (which is a commodity from a business perspective but a tremendous asset from a sell-up perspective) all the way to make the infrastructure richer and more enterprise-ready with additional functionalities, specifically in the automation space.
This move about SpringSource opens up a whole different dimension which is what I refer to as the deep dimension. In fact if VMware continues to only broaden their hypervisor richness they will always be at the mercy of two things:
- Their competitors might be able to catch up to the same level of ecosystem and thus functionalities.
- Their own potential customers that might not need that vast ecosystem of functionalities and might be satisfied with VMware competitors offerings (even if not so broad).
Now, everybody knows that the stuff you can find in your data center is not a function of a technology per se, but rather a function of the business applications they are able to support. Basically your platform (be it a processor, an operating system or a middleware - you define it) is as good as the number of ISVs it has been able to attract over the years (I should trademark this). Back to VMware. One of the challenges they had was to not only grow broad but also find a way to grow deep. They had to try to differentiate that black box that they provide (i.e. the virtual hardware which describes their virtual machine), essentially moving up the stack trying to foster the development of business code on top of their virtual hardware (and virtual infrastructure) that wouldn't run as well on someone else's virtual hardware (and virtual infrastructure). They basically can't afford anymore (or they will not be able to afford in the long run) to win deals based on infrastructure functionalities alone. They need to create a compelling reason for the ISVs to suggest using VMware rather than leveraging Systems Engineers that suggest using VMware because it makes things "easier and cleaner." Let me tell you what I think: if it was about making things easier and cleaner we would all be running mainframes in our data centers. And we wouldn't be here discussing how to optimize the Intel server sprawl as there wouldn't be any Intel server sprawl in the first place.
If VMware doesn't do this they are exposed in the long run to the risks in points #1 and #2 above. In trying to create a better and more integrated application + infrastructure duo - which is their current mantra when discussing the SpringSource acquisition - they also need to find a way to make sure applications that are being developed will run better on certain virtual infrastructures (namely VMware) vs. competitors virtual infrastructures (namely Microsoft). Did I say lock-in? Nah, what a bad term.
Let me draw this concept in a simple chart:
How do I read this chart? Interestingly enough the hypervisor is central in this vision, however it's perceived as a piece of commodity, which it truly is, from a revenue perspective. Having said this, it's an incredible point of control for the vendors because hypervisor XYZ will drag fee-based management features (typically from the same vendor). The management features are on the broad dimension (left and right). In the VMware camp here you can find the enterprise features included in vSphere as well as all VMware data center oriented add-on products. In the Microsoft camp you would find Systems Center Virtual Machine Manager along with the whole Systems Center product suite.
The other dimension (deep) is what the new SpringSource acquisition is all about. VMware is willing to create a more integrated application layer, through virtualization hooks in the SpringSource framework, that will make new Java-based applications VMware-aware. Microsoft has a similar if not bigger potential (although they haven't exploited it so far) in the fact that they own the software stack/framework (Windows / .Net) that is being used in about 80% of the x86 deployments worldwide (be them virtual or physical). In light of this and with virtualization in mind, one might speculate that VMware has a very mature broad dimension and they are starting to build a deep dimension. On the other side Microsoft has a very mature deep dimension (although, as I said, they haven't really leveraged other than for some Windows enlightenment integrations) while they are adapting their highly potential broad dimension with more virtualization in mind - the System Center suite is very mature and complete but it's not virtualization-centric, so to speak. I guess you are starting to see now why I think this is going to be a two-horse race. How could Citrix keep up with all this?
All this looks interesting, but I have controversial sentiments about what's going on. In a sense, having virtualization aware applications is going to provide a new level of features and functionalities that do not exist today, which is very positive. On the other hand I have always evangelized (and hoped!) for a very clean separation between the infrastructure services and the application layer as I have outlined in my old presentation I did at VMworld 2007 (download it here). I strongly believe there is a tremendous value for end-users to use a standard infrastructure where they could switch virtualization technologies back and forth without having to compromise on the way business applications are written. Understandably this is not a value proposition the virtualization vendors like to hear as - for their own good business reasons - they want to be able to have the customers strategically standardized on their own platform. Did I say lock them in? Nah. Joking aside I believe many others will have controversial points of view in trying to determine whether it would be better to have a more generic application that runs well on all virtualization software platforms, or to have an application that rocks only on a single virtualization platform and runs so-so on all others. All this assumes industry standards will either be non existent, only used by a single vendor or simply ignored. At the end of the day they all lead to the same result from a user perspective, which is proprietary implementations.
Assuming this is the right interpretation of where the industry is moving (well, at least it's my interpretation for now), I think VMware is making a big bet with these messages. They are somehow giving the idea (to me at least) that in the long run there will be two optimized stacks in the industry one will need to choose from strategically: the first one is the "VMware stack" with SpringSource-based VMware-aware applications, and the other one is the "Microsoft stack" with Windows/.Net optimized applications where the former would run on top of ESX / vSphere and the latter would run on top of Hyper-V / Systems Center. Sure VMware is going to support Windows as well, but this discussion is not about running legacy physical servers in virtual machines, this discussion is about how to properly and strategically integrate newly developed applications on top of a brand new virtual infrastructure. On the other hand Microsoft does support and will continue to support Linux variants on top of Hyper-V, but you probably wouldn't say Linux is (going to be) optimized to run on top of the Microsoft hypervisor. You might argue that VMware does a better job at running Windows than Microsoft does at running Linux, but I don't think I need to explain why this is the case (just look at the OS marketshare data and you'll find the answer). The key point I am trying to make here is that until you treat the VM (and its application) as a black-box, you can always argue that your virtual infrastructure does a better job at running it, regardless of what runs inside of it. On the other hand as soon as you start having first and second class citizens in terms of application support (not to be confused with base OS support), you are opening up a new dimension that didn't basically exist before... and that might be an assist to your competitor. Perhaps this is a risk that VMware has to take to move to the next level: if they want to compete head-to-head with Microsoft they need to turn hard at some point and not fall in bed with the enemy all the times.
The following is a very unofficial view of what's in my mind with regard to things like focus, commitment and interest each of the two vendors will map into their own technology efforts:
There is another thing about the SpringSource acquisition. Other than the application integration I have referred to, there was another thing VMware was interested in: a Platform as a Service offering. There are a number of segmentations and definitions around the various cloud models but there are two that are dominant among the others (so far): IaaS and PaaS.
The first one is Infrastructure-as-a-Service, and its characteristics can be summarized as follows: a software black box that can run whatever the customer requires, starting from the OS all the way to the software stack (middleware and applications) of choice. For the virtualization geeks of the old school this basically is an empty virtual machine... I am sure you are familiar with that black screen that says "OS not found" and that prompts you for a diskette.
The characteristics of Platform-as-a-Service are a bit different and a little higher in the stack. In a PaaS cloud model, the end-user wouldn't be presented with a bare (virtual) metal VM (horrible definition, but I think you get the idea); rather with a software platform that includes functionalities that could be generally associated to operating systems, development frameworks as well as data management services. Microsoft Azure anyone? That's where VMware was coming short compared to Microsoft in the PaaS space. Microsoft has a very strong potential here to attract a huge community of developers. VMware had to do something to address that very important layer of the cloud space with its own offering as they had to provide an end-to-end stack for both IaaS (which was easy, and which they have had for a number of years) and PaaS to be credible players. This reason was perhaps even more compelling than the first reason discussed in this article (i.e. being able to create VMware-aware autonomic applications). After all, if it was only about application integration, they could have partnered with key middleware vendors to integrate these functionalities into a variety of leadership frameworks including WebSphere, WebLogic, JBoss to name a few. The fact that they wanted/needed to buy SpringSource to do this is partially due to the fact that they couldn't afford non-exclusive partnerships, as well as to the fact that they needed to move up the stack very quickly. This is not something that a standard, perhaps not even exclusive, technology partnership could provide.
Last but not least, while we are in speculation mode, if I look at the two PaaS stacks from Microsoft and VMware, the latter seems to be missing a good data management layer to counter the SQL Services in Azure. With Sun Microsystems falling apart and speculations of selected spin-off of various divisions, I am wondering if VMware isn't valuating an additional move up in their brand new stack targeting MySQL (or similar technologies if Oracle isn't willing to help VMware to become a new Microsoft)...
In conclusion, this is a very cruel take on what's on the horizon. Certainly the marketing machines of the vendors will try to smooth the angles of my very simplistic view, as an example VMware is preaching to the industry that they are going to open up the APIs so that all applications built on top of all sort of development frameworks could be integrated into their own infrastructure. While technically true most .NET developers might end up doing this on the Microsoft platform for their own convenience - which might or might not have anything to do with the technical reasons associated. Similarly I don't see many Java developers integrating their applications into Hyper-V and the Microsoft virtualization tools as a whole. It's interesting that the world seems to be aligning for these two vendors although they are coming from two very different perspectives: VMware is coming from the virtual infrastructure expanding into the platform space, whereas Microsoft is coming from the platform space moving into the virtual infrastructure space. The giants are moving and the customers are going to see the benefits. May you (we!) live in interesting times - which seems to be the case.