Once you’ve started down the path of virtualization, you’re on the road to nirvana. Or at least cloud computing nirvana. At least according to rPath. According to the “cloud computing adoption model” the company recently made public, virtualization is the first step for organizations seeking to one day take advantage of cloud computing.
It’s not a big surprise that rPath would focus on this as the first step. The company provides tools for turning applications into virtual appliances, a process it calls application virtualization. Conceptually, however, it makes sense as a starting point for any development team or IT manager sketching out a cloud scenario, and it’s something with which many companies are familiar.
“Virtualization is critical because it allows you to decouple the application from the infrastructure,” said rPath chief strategy officer Billy Marshall during a presentation of the adoption model. “You have to do this to get the benefits of cloud computing, but you have to think about your infrastructure in a way to avoid locking yourself into one hypervisor platform.”
Beside the famous benefits of virtualization (e.g., hardware consolidation and power bills), virtualization can result in faster application deployment and, if done right, ability to scale up rapidly to meet business demands. “Once you’ve decoupled app from infrastructure, and it can be seamlessly deployed across any environment, you’ve completely simplified the process of spinning up a new app,” says Jake Sorofman, rPath’s vice president of marketing. “You’re closing the gap between development and production. It usually takes four to six months to deploy a new app; it’s an iterative, manual process because of the variability between application and underlying operating bits. With our virtualization technology, you can compress that process down to days instead of months.”
Because you can run into challenges when decoupling app from infrastructure, rPath says Level 2 should be “cloud experimentation.” The best place to do that, the company says, is Amazon’s Elastic Compute Cloud. “EC2 is a great way to get your feet wet and hands dirty,” Sorofman says. “We recommend companies get experience with EC2 as a way to become familiar with the cloud. The barrier of entry is so low you can afford to try things out.” (You can get a fingertip wet with a virtual appliance here.)
This phase is the time to build up knowledge about cloud computing, and Marshall believes it is important to have both the IT department and the line-of-business people involved in parallel. It’s also a time to start gathering metrics, identifying bottlenecks and putting issues on the table. Application architects should be thinking down the line about how to design software for this environment.
The heavy lifting begins with Level 3. This is where you lay the foundation for a scalable application architecture, Sorofman says. “Taking what you’ve learned from experimentation, start deploying real applications in the cloud,” he explains. “Work through provisioning apps on demand. Take your reference architecture and turn it into working processes.” This also is the time to come up with policies and best practices.
“Try to assess demand for an application, because that should determine how much infrastructure you’ll need,” Marshall says. Also, “operationalize an approach that lets you work with any hypervisor.”
Lifecycle management becomes crucial at this point, Sorofman says, because you want consistency, repeatability and maintainability of your virtualized application images. Otherwise, scalability is not going to work so well. “Adopt a lifecycle management system and become familiar with configuring and maintaining images. You also want a platform that guarantees that image updates can be pushed out to all cloud units simultaneously,” he says.
At Level 4, you really get down to it. This “cloud exploitation” stage means full-scale, broad-based deployment of applications in either an internal cloud or external cloud. At this point, you’re operating in the cloud as a production environment, Marshall says. This is time to tweak apps and revisit metrics. One warning from Marshall: “Keep in mind that not all apps are suited to run in the cloud, but being able to take advantage of cloud computing can deliver real ROI, savings in capital expenditures and so on.”
Then, in some undetermined future, following further technological developments, those who have mastered the four levels will be prepared for the “hypercloud” that dynamically shares workload and offers self-service provisioning. “Nirvana,” Marshall describes. “You’ll have the capability to dynamically select a target environment at runtime based on the needs of the application.” Load balancing tools will determine the best environment to dispatch operations, based on available compute power. Applications can automatically be sent to a cloud that’s never busy at night. Tools will be able to do instant cost comparisons and deploy applications on that basis. too.
“At this point, clouds will become a commodity,” Sorofman says. “You’ll be able to share workloads across clouds. Applications will move seamlessly. You’ll be able to pour across clouds, take advantage of cost differentials, or move according to business rules. You could also build composite apps that draw on different services from different clouds.” When this will happen “is hard to say,” Sorofman says, “but by the time most companies get to Level 4, the technologies to enable Level 5 could be mature enough.”
The value that rPath brings to cloud computing is “foundational,” Sorofman says, in that the company provides tools to turn applications into virtual appliances that can run in EC2 or any other cloud environment. “We want to make it easy for companies to move apps to an on-demand environment.”
rBuilder simplifies the process of creating application images, he says. “We let you combine your application with any other components you need and just enough operating system to create an application image, an application appliance, that will run optimally on any virtualized infrastructure,” he explains.
rPath’s Lifecycle Management Platform automates configuration and maintenance, backup, and other image-admin tasks. “We provide policy-based definition to make sure images are exactly reproduced,” says Sorofman, “and being able to reproduce multiple images from a single image greatly reduces errors.”
rPath also offers rBuilder Online, which “walks developers through the process of packaging a Linux application as an Amazon Machine Image,” Sorofman says. The related rBuilder Catalog provides a simple interface for launching, managing and retiring EC2 application images.
KnowledgeTree, an rPath customer, provides document management systems for small and medium businesses. Its application was being downloaded about 15,000 times a month, but the company got the notion it could reach more customers if it could sell its software as a service, an on-demand offering. To save time and money, the company wanted to use as much of its current application as possible and not have to do extensive recoding. The company says turn its application into a virtual appliance running on Amazon EC2 took much less time than it would have to build from scratch, and it also saw development and maintenance costs drop by 40 percent. KnowledgeTree says the combination of rPath’s tools and Amazon Web Services allowed it to provide quickly an application that scales transparently to meet user demand.
Of course, not everyone will have the same results as easily, but rPath and other software developers — including companies with vastly different approaches like 3Tera and Elastra — are paving the on-ramp for applications to run in the cloud. With its adoption model, rPath also is trying to offer a “graduated” approach to attaining the full benefits of cloud computing, with users advancing along with the technology.
“I don’t know if this hypercloud is three years, five years or ten years away, but it’s not going to take a miracle to make it happen,” Marshall says. “It’s going to take people working together.”