The VMforce cloud platform in development by VMware and Salesforce.com will be most useful for customers with existing Salesforce deployments, but can technically be used to build any Java application, a VMware official says.
The VMforce collaboration - billed as "the first enterprise cloud for Java developers" - was announced in April, but the technology is still under wraps with a preview for developers promised this fall. VMware's Rod Johnson, general manager of the SpringSource enterprise Java division VMware acquired last year, provided an update on VMforce development in an interview and discussed potential use cases.
"The absolutely killer app for it is where you have Salesforce data," and need to build enterprise-class applications that boost the capabilities of Salesforce while interacting with that data, Johnson says. "It will enable people to build applications and technology from anywhere and get excellent performance because it runs in the same data center."
"But [VMforce] is certainly not limited to that," he adds. "It will also be capable of running general enterprise Java applications. You can go build any application you'd like and benefit from Salesforce's operational experience."
With VMforce, Java developers will build applications using SpringSource, and then drag and drop the app into the VMforce cloud. Behind-the-scenes tasks like provisioning resources, configuring runtimes, and connecting to Salesforce's Force.com database are taken care of automatically. VMforce will also come with built-in integration to mobile platforms and social collaboration tools.
VMware still hasn't set a specific availability date for VMforce, but more details about the service will be revealed at the SpringOne conference in October, Johnson says. Developing the platform, which uses VMware's vSphere virtualization technology, requires giving Java developers a familiar interface while making their applications work with the Salesforce data model, he says.
While infrastructure-as-a-service cloud platforms such as Amazon's EC2 require customers to manage their own virtual servers, platform-as-a-service tools like VMforce will make many of those manual tasks unnecessary. The only thing developers have to focus on is writing applications.
Each cloud model has its pros and cons. Infrastructure-as-a-service can work with any programming model, but requires more management, including patching and load balancing. With platform-as-a-service, developers can likely get an application up and running on a cloud more quickly, but the applications may be less portable and they have to be built using the programming language supported by the cloud vendor.
Johnson says SpringSource is trying to achieve a level of portability that would let Java applications run on multiple clouds, and also to run on any hypervisor, or servers that have not been virtualised.
"Fundamentally, our goal with Spring has always been to maximise portability," Johnson says. But this also requires cooperation from developers.
"As a developer, you shouldn't be writing any code that knows about a particular hypervisor," he says. "You shouldn't really be writing code that knows about the infrastructure-as-a-service layer, period. If you're going to write a platform-as-a-service application, you absolutely don't want to have any knowledge in your application of hypervisors, or provisioning, because if you do that, firstly your application will end up more complicated than it was in the traditional enterprise, and secondly you do couple yourself to a particular technology stack."
So far, the major cloud platform players are Microsoft, with Windows Azure, Google App Engine, and Salesforce.Johnson says Google's App Engine contains various restrictions regarding "what is possible with Java applications," and promised that VMforce will allow a broader variety of Java apps and be more suitable for the enterprise.
VMforce "will be more appealing to enterprises who really want SLAs, who really have more stringent requirements, whereas App Engine is going to be very appealing to a lot of developers, maybe smaller businesses who don't have the same requirements or expectations," Johnson says.
Despite that mild criticism, VMware and Google have teamed up to let Spring Java apps run on the Google App Engine. While VMforce runs only Java applications, Google's platform supports both Java and Python.
VMware acquired SpringSource specifically to bolster its platform-as-a-service strategy, but the SpringSource products are still sold separately and Johnson says his team has retained some level of independence within VMware.
"We essentially have a great deal of control over our own destiny [at SpringSource] and also I'm quite heavily involved in the [VMware] company strategy overall," he says.