Develop Once, Then Deploy To Your Cloud Of Choice
IBM's CTO of Cloud Computing, Kristof Kloeckner, says IBM has demonstrated software engineering as a cloud process. At the end of the process, a developer deploys his application to the cloud of choice. As of today, that cloud better be running VMware virtual machines. In the future, the choice may be broader.
One of the obstacles to cloud computing is the difficulty of deploying a new application to the cloud. If that process could be automated, it would remove a significant barrier for IT managers who want to deploy workloads in the cloud.
IBM, with years of experience in deploying virtualized workloads, is attacking the problem from the perspective of cloud computing. In China, it now has two locations where software development in the cloud is being offered as a cloud service, one in a computing center in the city of Wuxi and another in the city of Dongying.
At the end of project, with code developed and tested, the project manager is able to deploy it packaged as a virtual appliance that can be shipped off to the cloud. Initially, IBM is working with VMware to build its cloud computing centers, so Chinese developers will get a VMware ESX Server-based virtual appliance when they push the deploy button.
IBM has also made some of its tools and middleware available as Web services on the Amazon cloud, where code can be developed and deployed to Amazon's EC2. In the long run, it will seek to offer a general purpose, cloud development platform where different clouds might be targeted at the end of the development process.
An Eclipse programmer's workbench user can choose from a catalogue of virtual machine images and choose one in which to deploy an application. Among the choices are templates that include different software stacks. A database application can be packaged into a virtual appliance with DB2 as part of the virtual machine image. Another choice would be to configure the application with a version of WebSphere Application Server and prepare the application for deployment to the cloud that way.
What has been a time-consuming, painstaking, tedious process in the physical world may become less so in the virtual world. Those with the expertise make up templates of successful software stacks, then developers, who have concentrated on creating the latest business logic, add an application on top. The template plus application gets configured into a virtual appliance, and the virtual appliance is shipped off as a workload to run in the cloud.
As stated before, that virtual appliance for the time being is a one configured in the VMware VMHD virtual file format and will run under an ESX hypervisor. In the future, says Kloeckner, IBM is likely to enable the virtual machines that run under Linux, such as open source Xen and Kernel Virtual Machine or KVM, as part of this process.
The idea of being able to develop once but deploy to different cloud environments is goal that many enterprise developers will agree with. In the future clouds will have their own realms of specialty and some will be good at running one type of application, some another. The true efficiencies of cloud computing will emerge only after the process of self-provisioning reaches the stage of IBM's pilot operations in China. In addition to self provisioning the virtual machine, the developer needs to be able to self provision the middleware and database stack and deploy the combination to a cloud of choice.
That prospect may still be a ways down the road, but it's coming.
Cloud Connect
Don’t miss Cloud Connect, the first event to bring together business executives, IT pros, and developers to define the cloud and drive growth and innovation. See the latest technologies and learn from cloud computing’s thought leaders at Cloud Connect’s conference and expo. Save 30% on conference passes or register for a free Expo pass below.
March 15-18, 2010
Santa Clara Convention Center
Silicon Valley, CA
Subscribe to our free, weekly report exploring the business, strategy, and management issues of cloud computing.
Get the details on ‘infrastructure as a service’ from a dozen vendors, including data on prices, services, contracts, platforms supported, and more.
Cloud computing adds abstraction, interdependency, and uncertainty about where data goes and how it’s protected. Here’s how to evaluate performance, cost, and risk in the cloud.


