Today, VMware and SalesForce.com announced VMforce, “the first enterprise cloud for Java Developers”. VMforce is therefore the latest Platform as a Service (PaaS) offering. For those of you not steeped in cloud acronyms, a PaaS cloud includes the hardware, the necessary OS bits, the virtualization layer, and an application runtime environment (think Google AppEngine). The other types of clouds are Infrastructure as a Service (IaaS) which is just the hardware, the virtualization layer and the OS bits (think Amazon EC2), and Application or Software as a Service (SaaS) which is the full application (think SalesForce.com).
This is a very significant announcement for three groups of people. The first group is the VMware community. This is the first significant productization of the SpringSource technology that VMware acquired when VMware bought Spring last year. At the time most of the focus was upon the Spring developer tools. We speculated on this site that the Spring Java run-time environment (Spring TC Server, a Tomcat compatible applications server) would end up being just as important. Indeed it turns out that with VMforce, developers can now build their application in Java and deploy it to run on Spring TC Server in the VMforce cloud with “just one click”.
This is also a very significant announcement for SalesForce.com. SalesForce.com leads the market in hosted CRM solutions, and allows developers to build integrated extensions to the main SalesForce.com application through a portal called Force.com. Development of these extensions is mostly done in a Force.com tools known as APEX. This announcement opens up development for Force.com applications to the Java Development community which brings a huge potential influx of developers into the SalesForce fold.
For the Java developer community this is a huge step forward. This means that there is now a PaaS cloud for Java applications that has VMware’s technology and SalesForce.coms data centers and applications/data managementÂ capabilitiesÂ behind it. Previous PaaS offerings were interesting but were limited to much smaller communities (EngineYard offers a PaaS for Ruby-on-Rails applications, and Google offers AppEngine). This offering means that Java developers can now build their application in the Spring tools, do a quick deploy to VMforce and let VMforce handle all of the deployment and management issues associated with the applications server and the database. Â This takes a huge load off of developers and should dramatically improve developer agility.
When VMware first bought SpringSource, it was suggested here on this site that what was forthcoming was a Java run-time environment that ran more or less directly in a guest and which would provide very effective competition to both .Net on Windows, and other Java run times (Weblogic, WebSphere, TomCat, and JBOSS) running most on Linux. This new offering directly threatens all of these alternatives since there is no need to pay anyone for a Windows license, a Red Hat support agreement, a Weblogic license, a WebSphere license, support agreements for Tomcat or JBOSS, and even for a license or a support agreement for a database server like Oracle or MySql. This is also a direct competitor to the Azure cloud from Microsoft which will, of course, focus on providing a run-time environment for .Net applications. In other words this new offering turns a very expensive stack of enterprise software into a very simple to buy and use service and becomes the alternative to Azure for the Java community along the way.
We should also not be surprised to see most of the VMforce bits show up in the vSphere product itself over time, as an option to allow Java Developers to deploy applications to internal clouds just as easily as they can now deploy these applications to VMforce.
This announcement also highlights the central role that the Java language is going to play in terms of how VMware facilitates the building of the next generation of virtualization aware and cloud aware applications. The diagram below from Steve Herrod’s blog shows how VMware intends to use the Spring platform to let Java applications move seamlessly between vCloud, VMForce, vSphere and even non-VMware clouds.
Of course if VMware is going to be open about where the applications run, then VMware will certainly focus on providing a differentiated environment designed to give developers a reason to choose VMware environments as the home for these applications. Some hints in this regard are also given in Steve Herrod’s blog and include:
- Fine grained resource separation allowing multiple applications to easily run in one VM (so you do not have buy a VM for every single application)
- Full automation of the tasks required to go from code to deployment in “one click”
- Automatic scaling of the compute environment for load
- Self-securing network connectivity
- Detailed applications performance and availability monitoring
VMware and SalesForce.com have come together to provide a robust, scalable PaaS offering for Java Developers. Existing Force.com developers will now have the ability to use Java to build and extend their applications and all Java developers will have a significant and productive new run time option for their applications. VMware and SalesForce.com have both ratcheted up the pressure on Microsoft in a significant manner.