Automate your virtual cloud appliance onto IBM PureFlex System

The IBM Virtual Appliance Factory automates the deployment of your cloud appliance onto KVM and PowerVM environments

IBM® PureFlex™ System is a cloud-ready, expert, integrated system that brings together the infrastructure and application layer with proven patterns and can be specifically optimized to meet specific needs, providing all of the infrastructure elements required to run your workloads in a single system. To further the IBM PureFlex System advantage with a speedy time-to-deployment, there is the IBM Virtual Appliance Factory toolkit that automates the deployment of your cloud appliance — your application along with the appropriately configured operating system and middleware — onto Kernel-based Virtual Machine (KVM) and PowerVM cloud environments. Take a tour of the toolkit.


Jarek Miszczyk (, Lead Technical Consultant, IBM

Jarek Miszczyk is a lead technical consultant for System x virtualization and cloud computing at the IBM STG Global ISV Enablement organization. He is located in Rochester, Minnesota.

11 April 2012

Also available in Chinese Japanese Vietnamese

The inefficiencies of traditional computing are unsustainable and businesses are making transformations to becoming smarter:

  • Companies need to do more with less and are looking for ways to create and leverage new innovations.
  • Customers need to reduce costs, simplify operations, and respond to changing business demands while balancing flat or shrinking IT budgets.
  • Customers need a way to manage their systems more efficiently, cost effectively, and also be able to tap into the latest technology such as cloud with agility to adapt their business to changing customer needs.

IBM is helping customers reduce costs, simplify complexity, and leverage new innovations by providing smarter computing solutions. They are moving beyond delivering piece-part components to providing a new class of expert integrated systems. These new systems integrate the infrastructure and application layer with proven patterns, specifically optimized to meet specific needs.

This new breed of system, IBM PureFlex System, combines the flexibility of general purpose systems and the simplicity of an appliance with integrated expertise. IBM PureFlex System is a cloud-ready, expert, integrated system that provides a new computing paradigm, consolidating workloads across Power™, System x, systems management, networking, and storage with a unified management system that allows an unparalleled integration of the infrastructure and the application layer.

IBM PureFlex System allows customers to consolidate into a single system all of the infrastructure elements required to run their workloads. This consolidation reduces cost, drives simplicity and efficiency, and is built to provide cloud capabilities out of the box.

IBM PureFlex System is optimized for cloud computing to rapidly deliver prepackaged virtualized images to clients, provide seamless universal management throughout the deployment life cycle, and is optimized for specific workloads and multi-tier applications.

This article describes IBM PureFlex System by highlighting IBM Virtual Appliance Factory (VAF). This toolkit helps a developer package an application along with the appropriately configured operating system, middleware, and applications into a virtual cloud appliance so deployment into the cloud system, including one running on IBM PureFlex System, is a fast, automated task.

Defining the virtual appliance

Virtual appliances are a key component of the cloud deployment model. A virtual appliance is a prepackaged software stack that combines the operating system, middleware, and applications in one package. Virtual appliances facilitate a quicker transition to cloud and require much less installation and configuration than traditional deployment methods. Virtual appliances address key issues to cloud computing, software licensing and standardization, and it applies to traditional ISVs as well as SaaS providers.

As an example, on one end of the spectrum, you can take an existing matured, market-tested COBOL application and with little effort, package it as a single-image virtual appliance, which immediately becomes deployable into the cloud. On the other end of the spectrum, you can package a newly implemented, highly distributed, service-oriented application and integrate with the services provided by the cloud. This allows ISVs to respond more rapidly to their customer's changing business needs with flexibility and agility.

IBM PureFlex System is designed to leverage virtual appliances. The Flexible System Manager (FSM) is a hardware appliance shipped with IBM PureFlex System that contains a fully operational virtual infrastructure management stack: IBM Systems Director and VMControl. Specifically, VMControl is an IBM Systems Director add-on feature that manages the entire life cycle of a virtual appliance. Here is a quick overview of the rich functionality provided by VMControl:

  • Built-in Virtual Appliance Repository with versioning capability.
  • Support for Virtual Appliances compliant with the industry standard DMTF OVF (Open Virtualization Format) specification.
  • Support for x86 and Power-based appliances.
  • Support for the IBM Virtual System Activation Engine (VSAE), a scripting engine that allows for automatic reconfiguration of the entire software stack contained in an appliance. This, in turn, drives the cloud value proposition of self-service and automation.
  • Ability to deploy appliances into a single host or into a system pool.
  • Ability to group multiple running appliances into a single workload that then can be managed as a single entity.

The virtual appliance model

As stated before:

The true value of the OVF-compliant software VA [virtual appliance] lies in the ability to automatically install and configure all of the software components, including the operating system, middleware, and applications. Unfortunately, the prevailing approach of many appliance architects is to ship them "half-baked" without automating the activation of the entire software stack. Often, appliance architects use, say, the VMWare tools to ensure the reconfiguration of the OS-level settings, such as host name, domain name, and root password. They tend not to address the reconfiguration needs of the software components above the OS at the initial deploy time. For example, they do not reconfigure the database settings. Consequently, at deployment time, the host name at the OS level gets set to the proper value, while the database configuration shows the original host name.

This can lead to unpredictable results and often requires manual debug and repair. The approach is problematic for several reasons:

  • The need for a manual configuration of deployed workloads defeats the key value proposition of cloud computing, namely, automation.
  • The deployer (a cloud admin) may not have the necessary domain knowledge to properly reconfigure a third-party application or middleware or the inter-dependencies of a multi-tiered application construct.

A preferred solution to address these issues is to take advantage of the IBM Virtual Solutions Activation Engine (VSAE). The Activation Engine is a software tool that is used during the appliance creation and deployment phases. The Virtual Appliance Factory toolkit automatically installs the Activation Engine in each virtual system image during the appliance construction phase. Then, when the appliance is deployed, the Activation Engine runs in each of the virtual systems and reconfigures the system and the installed applications.

Essentially, the VSAE is a scripting engine that starts on the first boot before the application services are activated. For example, IBM WebSphere® Application Server (WAS) data source configuration requires the DB2® server host name, the port on which DB2 is listening, the database name, and DB2 user credentials. Please note that these settings may be different for each instance and are runtime-environment-specific. They need to be set before the WebSphere Application Server application startup to prevent conflicts and security exposure.

The VSAE supports a pluggable architecture where the configuration tasks for a specific aspect of a software stack are performed by the specialized activation programs. These activation programs are invoked by the Activation Engine in a predefined sequence.

The OVF standard recommends that the runtime parameters are passed to the Activation Engine using an XML configuration file (default name is ovf-env.xml) contained in a virtual CD drive. The virtual CD drive is attached to a given virtual system at the boot time. The Activation Engine parses the XML configuration file to retrieve the parameters and then calls a specific activation program that sets points of variability (change points) in the application stack.

Following this model is a good way to build software virtual appliances that fully automate the deployment of the real-life, sometimes-quite-complex solutions.

Author's note: The information from this section and the next section of the article comes from my article, "Cloudify Your Applications by Creating a Software Virtual Appliance," courtesy of MC Press Online, LLC.

Building software virtual appliances

How do you package your applications into the format described in the model so they are cloud-ready? There are many options available in the marketplace for building virtual appliances, but some of these options do not support open source hypervisors such as KVM or architectures other than Intel.  With these other options, the process can be significantly manual and prone to error. The options used as examples in this article are:

  • Open source tooling to build the virtual appliance (VA).
  • VMware tooling to build the virtual appliance.
  • The Virtual Appliance Factory Service.

Open source tooling

You can build the software virtual appliance manually using open-source tooling. For example, you can install on your Linux® workstation the open-source hypervisor KVM along with the virtualization tools (such as virsh, virt-manager, and virt-viewer). Use the virt-manager to create the virtual machine images, boot those images on KVM, and install all the necessary software components.

A simple text editor can be used to create or modify an OVF file to describe the content of the virtual machine images you created.

The final step is to create a TAR archive that contains the images and the OVF.

This is manual virtual appliance creation; it requires significant virtualization and OVF skills and is time-consuming and prone to errors.

VMware tooling

You can use VMware tooling like VMware Studio and the OVF Toolkit; they are designed to simplify the process of virtual appliance creation.

The virtual appliances created in VMware Studio can be easily imported and deployed using vSphere Client.

One drawback is that VMware tools do not support open source hypervisors such as KVM or architectures other than Intel®.

The Virtual Appliance Factory Service

You can leverage Virtual Appliance Factory Service; the VAF Service is a set of Web 2.0 tools, services, and processes that simplify and automate the "cloudification" process. Some of the benefits of the VAF Service include:

  • Allows entry into cloud space with minimal up-front investment.
  • Hides complexity of the virtualization infrastructure, meaning that appliance architect can focus on their specific knowledge domains (like multi-tier application composition) rather than have to deal with infrastructure setup.
  • Creates a virtual appliance that is deployable into DMTF OVF-compatible data centers.
  • Delivers on two key value propositions of cloud computing: Automation and self-service.

Introducing the IBM Virtual Appliance Factory

IBM has made it easy for ISVs to create a virtual appliance by combining years of experience, proven methodologies with a downloadable set of Web 2.0 tools to simplify the process. The IBM Virtual Appliance Factory is a self-enablement toolkit that provides automated tools to help independent software vendors (ISVs) prepackage application solutions for deployment in KVM and PowerVM environments.

Virtual appliances are transforming the IT industry by accelerating time to value. This is achieved by prepackaging software stacks in a virtual OVF format that combines the OS, middleware, and applications into one package. This speeds deployment time and accelerates entry into cloud environments.

The IBM Virtual Appliance Factory supports x86: Linux with VMware, Linux with KVM and POWER®: AIX® with PowerVM®, Red Hat, and SuSE.

A typical engagement requires 3-10 programmer days. Virtual appliances built with the IBM Virtual Appliance Factory are eligible for the "IBM Ready For" program which helps highlight your solution to customers and business partners as a distinguished, optimized solution. For eligibility, virtual appliances must be validated and tested on IBM hardware at an IBM Innovation Center and a listing created in the IBM Global Solutions Directory with the required supporting documentation.

How does the IBM Virtual Appliance Factory work? The end-to-end process uses IBM Image Construction Tool (ICCT/ICON), System Director, and the ICCT Eclipse plug-in. Here is an example methodology for KVM. The flow for PowerVM and VMware are identical.

  1. Create a base appliance using ICCT/ICON, just an operating system with basic OS services, from installable ISO file.
  2. Deploy the base appliance using KVM provider runtime, which lets you manage virtual systems and images on a KVM host.
  3. Using the Eclipse plug-in:
    1. Create and test a program activator, a piece of software that knows how to reconfigure a software component at the time when the appliance is deployed.
    2. Export the program activator into the ICCT/ICON as a bundle. It is activated every time a new instance of this appliance is deployed into a host.
  4. Extend the base appliance with the newly created bundle using ICCT/ICON. The ICCT merges metadata that describes the software components in the virtual appliance with the metadata for the bundle.
  5. Bring the image to latest level of metadata:
    1. Synchronize the image with the metadata describing it.
    2. Capture it by going into the image and cleaning up temporary files, SSH keys, network configs.
    3. Export the image into a standard format DMTF OVF specification.
  6. Using System Director's VMControl feature:
    1. Import the virtual appliance into the virtual appliance repository managed by VMControl in order to manage the life cycle of the appliance.
    2. Deploy.

In conclusion

We introduced you to the virtual appliance model, various ways you can build software virtual appliances, and provided information on the IBM Virtual Appliance Factory and its process, a toolkit that automates the deployment of your cloud appliance into IBM PureFlex System environments.



Get products and technologies



developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into Cloud computing on developerWorks

  • developerWorks Premium

    Exclusive tools to build your next great app. Learn more.

  • Cloud newsletter

    Crazy about Cloud? Sign up for our monthly newsletter and the latest cloud news.

  • Try SoftLayer Cloud

    Deploy public cloud instances in as few as 5 minutes. Try the SoftLayer public cloud instance for one month.

Zone=Cloud computing, WebSphere, Information Management
ArticleTitle=Automate your virtual cloud appliance onto IBM PureFlex System