VMware has unveiled Cloud Foundry, an open-source platform for running applications in the cloud that is designed to make it easier for developers to build scalable, cloud-based software.
Cloud Foundry is a platform-as-a-service (PaaS) product and open-source project, the virtualisation specialist said on Tuesday. It is being released in four variants, two of which are available now — a free commercial VMware-operated public cloud platform and an open-source distribution. A 'microcloud' edition for development and testing, which can be mounted on a single virtual machine, will follow in the summer, and another for telecoms and enterprises will come later.
VMware has turned to open source for its cloud product, acccording to company chief executive Paul Maritz. Photo credit: ZDNet.com
The platform can be operated in either private, public or hybrid clouds, or offline in a lightweight 'micro' variant, according to VMware. It is designed to give developers the ability to focus on making large, cloud-friendly applications without having to also program the way the applications interact with underlying hardware infrastructures.
"Each generation of computing brings a new application development platform, and, in the cloud era, that platform will be delivered as a service," VMware's chief technology officer Steve Herrod wrote in a blog post alongside the announcement. "By leveraging PaaS, developers avoid the many hassles of updating machines and configuring middleware and focus their attention on delivering applications."
Cloud Foundry allows businesses to choose the developer frameworks their cloud applications will be mounted in, the infrastructure services that will host them, and the types of clouds on which the application-supporting PaaS will be deployed.
The platform has been in development since 2009. Its lineage comes from VMware's acquisition of SpringSource; subsequent purchases of WaveMaker, GemStone, Integrien and RabbitMQ; and the VMforce enterprise Java cloud partnership with Salesforce.
Herrod stressed that the VMware platform differs from rivals in that it does not just specialise in one kind of cloud, but is useful for public, private and hybrid setups. He also added it allows developers to select from a variety of application service interfaces, application frameworks and types of underlying cloud.
"By offering an open architecture in all three dimensions, Cloud Foundry overcomes major limitations found in today's PaaS solutions. Nascent industry PaaS offerings are held back by limited or non-standard framework support, lack of variety of application services and especially the inability to deploy applications across both public and private clouds," Herrod wrote.
A PaaS is a service that co-ordinates the marshalling of underlying hardware infrastructure to serve an application. It handles load-balancing, resource provisioning and the other various aspects of infrastructure management. Such services allow developers to focus on the application and outsource the infrastructure management to the platform.
Below a PaaS is an infrastructure-as-a-service (IaaS) cloud, such as Amazon Web Services (AWS), which gives a finer level of control over underlying hardware but has less natural automation. Typically, an IaaS requires developers to spent more time tailoring their particular application to its underlying infrastructure than they do to a PaaS, which automates much more.
"Cloud Foundry allows developers to focus on applications, not machines or middleware. Traditional application deployments require developers to configure and patch systems, maintain middleware and worry about network topologies," VMware said in a CloudFoundry.com FAQ, in a nod to IaaS clouds such as AWS.
The Paas service will compete with services like Google App Engine and Microsoft's Windows Azure, as well as AWS-hosted Heroku and AWS itself through its Elastic Beanstalk add-on.
VMware already offers an IaaS product, vCloud Director, which allows a hardware stack to be converted into a rentable infrastructure for the cloud, but this is not open source.
The open-sourcing of the platform code is designed as a tonic against vendor lock-in, according to VMware.
"Are these new clouds going to become the ultimate California hotels — you can go in, but can't come out?" VMware chief executive Paul Maritz asked at a press conference on Tuesday, in a reference to Google App Engine and Azure. "We believe that that problem needs to get solved, and preferably in an open-source manner."
Until recently, Google App Engine predominantly supported Python for its programming, but in an update on 30 March, it greatly boosted Java support as well.
"There are two interesting forces [in the industry] that are working to provide the background for what we are talking about today. One is the emergence of new programming frameworks; the other big change is the emergence of large-scale clouds," Maritz said.
Adrian Colyer, chief technology officer of vFabric in VMware's cloud-application platform group, did not rule out the idea that Cloud Foundry could be integrated with OpenStack, the open-source cloud platform.
"We are very excited about the potential for open source to change the game in cloud computing," Colyer told ZDNet UK. "OpenStack and other open-source cloud software can all be seen as part of that bigger story."
The PaaS is designed to be hypervisor-agnostic. VMware's commercial version is running on its vSphere, and by extension its ESXi hypervisor. However, Rackspace already has a software template already available for running a Cloud Foundry instance on AWS Elastic Compute Cloud (EC2), which is based on a modified version of the Xen hypervisor.
The two variants available now are a commercial PaaS operated by VMware and available from CloudFoundry.com, and an open-source version released under the Apache 2 licence. The open-source variant is available from GitHub, the large developer code repository, and there are additional resources available on CloudFoundry.org.
The 'micro cloud' version, expected to arrive in the second quarter, will be a free downloadable Cloud Foundry platform that can be run within private clouds on a single virtual machine for development and testing purposes, according to VMware.
At an undisclosed point in the future, VMware plans to sell a version of the PaaS to enterprises or to telecommunications service providers that want to wrap and sell services around it.
At launch, Cloud Foundry allows applications to be built with JVM-based frameworks such as Spring for Java and Ruby on Rails. Sinatra for Ruby on Rails and Node.js can also be used. Data services initially come via MySQL, Redis and MongoDB support.
At the moment, VMware's commercial variant is in beta and operated at CloudFoundry.com. It is free of cost now, but will carry a price once it moves out of testing.