Parallel

Virtual Appliances and Cloud Computing

By Jonathan Erickson, October 02, 2008

Application distribution and management in the cloud

Today's guest is Billy Marshall, co-founder and CEO of rPath, a company that's pioneering the virtual appliance approach for application distribution and management. Virtual appliances are a key enabler of cloud computing.

DDJ: Billy, is there anything unique about lifecycle managing when it comes to clouds?

BM: What is unique about lifecycle management for a distributed application in a cloud environment such as Amazon's EC2 or any other hypervisor enabled cloud is the opportunity to streamline the management approach.

With a hypervisor as the bottom layer that abstracts the hardware (instead of a general-purpose operating systems), the application can be pre-defined as a set of coordinated virtual machines -- totally independent from the physical infrastructure. This helps lifecycle management in two ways:

The OS shrinks to simply support the application. A reduced footprint means fewer components to manage relative to security and compliance issues. This is an opportunity to lower the burden of lifecycle management.

When the virtual machine (or virtual appliance) is the unit of management (instead of the physical host), deployment and scale-out/up can be accomplished quickly and easily -- on multiple different datacenter clouds. This flexibility for deployment, scale-out, and retirement was unthinkable when each application had to be installed and configured on a general purpose OS running on the physical server systems.

DDJ: Can you tell us about "JeOS" -- "Just enough operating system"?

BM: When a hypervisor cloud is the target for deployment of the application instead of the general-purpose operating system, the role of the OS itself is to "bind" to the application and provide all of the system services required by the application. When you eliminate all of the utilities associated with managing the hardware and include only components required to support the application, the OS shrinks by about 90 percent -- which is great for better security and lower patch management costs. Also, the OS can be tailored to the unique needs of the application without affecting other applications because of the isolation of the virtual machine. Each application gets the "correct" OS instead of a "standard" OS that represents the lowest common denominator for every application.

DDJ: When it comes to tools for managing the lifecycle in clouds, did you have to build new ones from scratch or were you able to adapt existing ones?

BM: Some tools are different, and some remain the same. The best way to describe the change is that the virtual machine is now the unit of management instead of the physical host (the server plus a general-purpose OS).

In this new approach, the virtual machines need to bring with them information and management agents that can communicate to the virtual infrastructure regarding the application requirements. For example, an application server will need to communicate how much hardware resources it needs along with its requirement to allow web server connections and the requirement to send queries and receive responses from a certain database. The virtual infrastructure needs to enable this configuration and communicate certain parameters for setup to the application server virtual machine. This represents a new management capability for configuration. On the other hand, the approach you use for CPU monitoring and alerts can probably remain pretty consistent with the approach you used in the legacy model.

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!