VMware has open sourced a new platform for building application development services along the lines of Microsoft Azure or Google App Engine, hoping to spawn an army of so-called "platform clouds" that aren't run by Microsoft or Google.
These sky-high services can be run behind the firewall ("private clouds" in the nomenclature of the day), or on the public net ("public clouds"), and they're meant to play nicely with myriad programming languages, other cloud services, and, well, each other.
Known as Cloud Foundry, VMware's code is now available on GitHub under an Apache 2 license, and VMware has launched a beta service based on the code at cloudfoundry.com. According to VMware, this is the first major open source project in the company's history.
The aim is to provide common code for creating "platform-as-a-service" (PaaS) engines, aka "platform clouds" or "development clouds". Unlike an "infrastructure cloud" such as Amazon EC2, a platform cloud lets you build and host applications online without juggling VMs and other raw infrastructure resources.
"A PaaS engine is a self-service platform that lets you develop and build applications and easily scale up and scale down your applications without having to fuss around with the actual middleware or the architecture itself," VMware senior director of cloud and application services Jerry Chen tells The Register.
"It's an engine that does curation, scaling, management, and runtimes of your application, but largely hides the complexity from the developer, so the developer can focus on writing code." This is similar to Microsoft's pitch for Azure and Google's for App Engine, but VMware has gone a step further by open sourcing the code behind its service, and the platform is designed to work in tandem with myriad development tools.
"We believe the current [platform clouds, such as Azure and App Engine] are incomplete," Chen says. "There is no one platform that is multi-cloud – private and public – and no one cloud is architected, out of the gate, to be extensible to many different frameworks and many different languages."
Currently, the platform lets you build applications with Java, Ruby on Rails, the Ruby framework Sinatra, and Node.js, the current darling of the Silicon Valley development world. But VMware plans to offer support for other languages in the future. The platform also plugs into application services such as RabbitMQ and GemFire, both now owned by VMware. RabbitMQ is an open source messaging platform for use with so-called cloud-based applications, while GemFire provides distributed data management.
The platform that drives Google App Engine is not available for use by other services. But Microsoft is working to build Azure appliances that will drive Azure-compatible services from the likes of Dell and HP. Originally, Google App Engine worked only with Python, but it now lets you code in Java as well. Azure supports Eclipse, Ruby, PHP, and Python, but it's primarily designed for use with Microsoft's .NET framework.
Cloud Foundry serves as the basis for the VMforce platform cloud VMware is building in tandem with Salesforce.com. Therefore, Chen tells us, developers will be able to readily move applications between VMforce and other Cloud Foundry services – at least in theory. VMforce is a Java-based service that plugs into Salesforce's Database.com. You can move your application from VMforce to another Cloud Foundry service, Chen says, simply by changing the authentication setting inside your IDE. "This will be the case with all Cloud Foundry instances," he says.
Chen also says that If you write an application using the Spring Source Java framework, you can move between the Google App Engine and a Cloud Foundry service. Spring Source is now owned by VMware, and at Google's annual developer conference last May, Google and Spring announced a partnership designed to provide this sort of compatibility.
In the future, VMware plans to offer a single-developer instance of Cloud Foundry on a virtual machine. This "Micro Cloud" will allow developers to build applications on a local machine. This will be available for download sometime this year. VMware would not say how it intends to make money from either this Micro Cloud or the service it's running at cloudfoundry.com. But it has said that commercial software will be available in the future and that VMware partners will be offering Cloud Foundry services of their own.
VMware also offers a product, vCloud Director, for building "infrastructure clouds" that mimic Amazon EC2, and it's now being used by various service providers, including Verizon. But this is not open source. VMware does not have much of an open source history, but with the acquisition of outfits such as Spring Source and Rabbit MQ, it has brought on some minds with years of experience in the open source world.
"This is evidence of the seriousness with which VMware takes open source," former Spring Source head Rod Johnson told us when VMware acquired Rabbit MQ. "We believe openness is an important part of cloud computing. We think it's very important that organizations do not get locked into particular platforms." ®