You are previewing Creating Smart Virtual Appliances with IBM Image Construction and Composition Tool.
O'Reilly logo
Creating Smart Virtual Appliances with IBM Image Construction and Composition Tool

Book Description

In a traditional deployment model, software is installed on a physical server, and it is configured for the particular data center environment. The cloud deployment model requires that the dependency on a specific hardware configuration is severed. This IBM® Redbooks® publication guides you through the transition from the traditional application deployment model to the cloud-friendly deployment model. It explains how to achieve these goals by packaging the software stacks into industry standard virtual appliances.

A key part of this transition involves using the IBM Image Construction and Composition Tool. This tool is the IBM tool for creating virtualized workloads that target several private cloud deployment platforms, including platforms from IBM and not from IBM. In fact, this tool is unique in its ability to support such a wide range of cloud offerings. It is also the only tool in the marketplace that can create virtual appliances for both x86 and IBM Power hardware architectures.

This book provides an in-depth look at the capabilities and internal workings of Image Construction and Composition Tool. It focuses on the capabilities of this tool, which target the virtualization and cloud offerings of IBM Systems and Technology Group. These offerings include IBM Systems Director VMControl™, IBM SmartCloud® Entry, and IBM PureFlex™ System with IBM Flex System Manager™ appliance. The Image Construction and Composition Tool also has a much richer set of capabilities. Specifically, it supports IBM Workload Deployer, IBM PureApplication™ Systems, and IBM SmartCloud Provisioning.

This publication targets software architects, cloud solutions architects, and cloud administrators. Its goal is to provide you with the expert-level skills required to package the existing and newly created applications into self-configurable, smart virtual appliances.

Table of Contents

  1. Front cover
  2. Notices
    1. Trademarks
  3. Preface
    1. Authors
    2. Now you can become a published author, too!
    3. Comments welcome
    4. Stay connected to IBM Redbooks
  4. Chapter 1. Introduction to virtual appliance construction
    1. 1.1 Deploying your applications into the cloud
    2. 1.2 Solving the terminology puzzle
    3. 1.3 Why implement software virtual appliances
    4. 1.4 A need for a virtual appliance construction tool
      1. 1.4.1 Application packaging options
      2. 1.4.2 Supported deployment options
    5. 1.5 Putting the Image Construction and Composition Tool into context
      1. 1.5.1 Image Construction and Composition Tool and the IBM PureSystems
      2. 1.5.2 Image Construction and Composition Tool and the IBM Workload Deployer
  5. Chapter 2. Anatomy of a virtual appliance
    1. 2.1 Description of a virtual appliance
    2. 2.2 Components of a virtual appliance
      1. 2.2.1 The OVF file
    3. 2.3 Virtual appliance self-activation
    4. 2.4 IBM Virtual Solutions Activation Engine
    5. 2.5 What a virtual appliance is not
  6. Chapter 3. Architecture of the IBM Image Construction and Composition Tool
    1. 3.1 Actors and use cases
      1. 3.1.1 Operating system specialist
      2. 3.1.2 Software specialist
      3. 3.1.3 Virtual appliance architect
    2. 3.2 Component view
      1. 3.2.1 The model
      2. 3.2.2 Package generators
      3. 3.2.3 Cloud providers
    3. 3.3 Flow of the main scenarios
      1. 3.3.1 Importing an image from a cloud provider
      2. 3.3.2 Importing an image from a running virtual machine
      3. 3.3.3 Extending a base OS image
      4. 3.3.4 Capturing a synchronized virtual image instance
      5. 3.3.5 Exporting a virtual appliance
    4. 3.4 Cloud provider concepts
    5. 3.5 Software bundle concepts
    6. 3.6 Image concepts
    7. 3.7 User interface
  7. Chapter 4. Setting up the virtual appliance build environment
    1. 4.1 Installing the Image Construction and Composition Tool
      1. 4.1.1 Installing the tool on Linux
      2. 4.1.2 Installing the tool on AIX
      3. 4.1.3 Accessing the tool
    2. 4.2 Setting up the build environment for PowerVM virtual appliances
      1. 4.2.1 Reference architecture
      2. 4.2.2 Requirements and recommendations
      3. 4.2.3 Creating the build environment
    3. 4.3 Setting up the build environment for KVM virtual appliances
      1. 4.3.1 Reference architecture
      2. 4.3.2 Nodes
      3. 4.3.3 Tips and techniques
  8. Chapter 5. Product Activator Development Kit
    1. 5.1 Overview of the Product Activator Development Kit
    2. 5.2 Installing PADK
    3. 5.3 A walkthrough of the development process by using PADK
      1. 5.3.1 Installing the Virtual Solutions Activation Engine manually
      2. 5.3.2 Prototyping the activation program
      3. 5.3.3 Creating a product activator project in Eclipse
      4. 5.3.4 Coding the activation program
      5. 5.3.5 Setting up the connection to the target virtual machine
      6. 5.3.6 Running and debugging the activation program
      7. 5.3.7 PADK integration with Image Construction and Composition Tool
  9. Chapter 6. KVM Express cloud provider
    1. 6.1 Overview of the KVM provider architecture
    2. 6.2 Setting up the KVM provider
      1. 6.2.1 Installing the KVM provider
      2. 6.2.2 Managing the KVM provider
      3. 6.2.3 Creating the KVM cloud provider
    3. 6.3 Creating a base image from ISO
      1. 6.3.1 Preliminary setup
      2. 6.3.2 Importing an ISO image
      3. 6.3.3 Building a base operating system appliance
    4. 6.4 Importing a running virtual machine
      1. 6.4.1 Requirements
      2. 6.4.2 Importing a running VM from the host system of the KVM provider
    5. 6.5 Importing virtual images (appliances) from the KVM cloud provider
      1. 6.5.1 Importing virtual images
      2. 6.5.2 Importing a virtual appliance
    6. 6.6 Removing an image (appliance) from the virtual appliance repository
    7. 6.7 Working with bundles
      1. 6.7.1 Passing parameters to the reset operation
    8. 6.8 Validating virtual images by using the OVA Runtime
      1. 6.8.1 Deploying a virtual image (appliance) with OVA Runtime
      2. 6.8.2 Stopping and releasing a running VM (workload)
    9. 6.9 Tips to override default behavior of the KVM provider
      1. 6.9.1 Modifying the template OVF file
      2. 6.9.2 Changing the default number of clones
    10. 6.10 Troubleshooting
      1. 6.10.1 Checking the Image Construction and Composition Tool and the KVM provider versions
      2. 6.10.2 Image Construction and Composition Tool logs
      3. 6.10.3 KVM provider logs
      4. 6.10.4 Validating that the KVM provider is active
      5. 6.10.5 Considerations for restarting the KVM provider services
      6. 6.10.6 Resolving common issues
  10. Chapter 7. PowerVM Express cloud provider
    1. 7.1 Overview of the PowerVM provider
    2. 7.2 Requirements for PowerVM provider
    3. 7.3 Configuring a PowerVM provider
    4. 7.4 Creating a virtual appliance
      1. 7.4.1 Creating a base image
      2. 7.4.2 Importing a base image
      3. 7.4.3 Extending, synchronizing, and capturing an image
      4. 7.4.4 Exporting an image as an OVA archive
    5. 7.5 Troubleshooting
      1. 7.5.1 Checking the Image Construction and Composition Tool and the PowerVM provider versions
      2. 7.5.2 Checking the PowerVM provider logs
      3. 7.5.3 Checking the Image Construction and Composition Tool logs
      4. 7.5.4 Importing from a running virtual machine
      5. 7.5.5 Importing from a cloud provider
      6. 7.5.6 Extending an image
      7. 7.5.7 Synchronizing an image
      8. 7.5.8 Capturing an image
      9. 7.5.9 Exporting an image
  11. Chapter 8. ESX cloud provider
    1. 8.1 Overview of an ESX cloud provider
    2. 8.2 Requirements for a VMware ESX cloud provider
    3. 8.3 Configuring an ESX cloud provider
    4. 8.4 Creating a virtual appliance
      1. 8.4.1 Creating a base OS image
      2. 8.4.2 Importing a base image
      3. 8.4.3 Working with bundles
      4. 8.4.4 Extending, synchronizing, and capturing a virtual image
      5. 8.4.5 Exporting an image as an OVA archive
    5. 8.5 Troubleshooting
      1. 8.5.1 The Image Construction and Composition Tool version
      2. 8.5.2 Image Construction and Composition Tool logs
      3. 8.5.3 Installation logs
      4. 8.5.4 Image synchronization logs
      5. 8.5.5 Synchronization fails message: vmPath is null
      6. 8.5.6 Resolving common issues
  12. Chapter 9. Constructing simple virtual appliances
    1. 9.1 Scenario overview
    2. 9.2 Implementing the installation and configuration scripts
      1. 9.2.1 Developing the installation script for IBM WebSphere Application Server Community Edition
      2. 9.2.2 Developing the configuration script for IBM WebSphere Application Server Community Edition
      3. 9.2.3 Developing a configuration script for the web application
    3. 9.3 Creating a base image
    4. 9.4 Creating software bundles for the Image Construction and Composition Tool
      1. 9.4.1 Creating a software bundle for IBM WebSphere Application Server Community Edition
      2. 9.4.2 Creating a software bundle for a web application
    5. 9.5 Building a virtual appliance
      1. 9.5.1 Extending the base image to create the sample image
      2. 9.5.2 Adding software bundles to sample image
      3. 9.5.3 Synchronizing the sample image
      4. 9.5.4 Validating the sample virtual image
      5. 9.5.5 Capturing the sample virtual appliance
      6. 9.5.6 Exporting the sample virtual appliance
      7. 9.5.7 Verifying the results
    6. 9.6 Log file of the Image Construction and Composition Tool
      1. 9.6.1 Synchronizing a simple virtual appliance image
      2. 9.6.2 Capturing a simple virtual appliance image
      3. 9.6.3 Exporting a simple virtual appliance image
  13. Chapter 10. Constructing complex virtual appliances
    1. 10.1 Scenario overview
    2. 10.2 Importing running virtual machines
    3. 10.3 Preparing for activation programs
      1. 10.3.1 Installing PADK
      2. 10.3.2 Examining the configurable resources
      3. 10.3.3 Identifying the intercomponent dependency
    4. 10.4 Implementing the activation programs
      1. 10.4.1 Creating PADK projects in Eclipse
      2. 10.4.2 Coding activation programs for changeable parameters
      3. 10.4.3 Coding activation programs for intercomponent dependency
    5. 10.5 Creating software bundles
    6. 10.6 Building virtual appliances
      1. 10.6.1 Adding software bundles to base images
      2. 10.6.2 Synchronizing virtual appliances
      3. 10.6.3 Capturing a virtual appliance
      4. 10.6.4 Exporting virtual appliances
    7. 10.7 Validating the results
      1. 10.7.1 A deployment documentation template
    8. 10.8 Summary
  14. Chapter 11. Virtual appliance deployment options
    1. 11.1 Deploying KVM virtual appliances to Systems Director VMControl or IBM Flex System Manager
      1. 11.1.1 Importing an appliance into the image repository
      2. 11.1.2 Deploying an appliance on a KVM host or to a KVM system pool
      3. 11.1.3 Generating a password hash value
    2. 11.2 Deploying PowerVM virtual appliances to Systems Director VMControl or IBM Flex System Manager
      1. 11.2.1 Importing a virtual appliance into the Systems Director VMControlimage repository
      2. 11.2.2 Deploying the virtual appliance on a PowerVM host or system pool
    3. 11.3 Deploying a virtual appliance with IBM SmartCloud Entry
      1. 11.3.1 Importing PowerVM and KVM virtual appliances into IBM SmartCloud Entry
      2. 11.3.2 Managing PowerVM and KVM virtual appliances in IBM SmartCloud Entry
      3. 11.3.3 Importing OVA into VMware vSphere with vCenter
      4. 11.3.4 Managing virtual appliances in IBM SmartCloud Entry
  15. Chapter 12. Proven practices
    1. 12.1 Virtual appliance naming convention
      1. 12.1.1 Image name
      2. 12.1.2 Universal ID
      3. 12.1.3 Version
    2. 12.2 Software bundle naming convention
      1. 12.2.1 Bundle name
      2. 12.2.2 Universal ID
      3. 12.2.3 Version
    3. 12.3 Preinstalling software or creating a bundle with the installation image
    4. 12.4 Best practices for software bundles
    5. 12.5 Writing shell scripts for software bundle operations
      1. 12.5.1 Best practices when writing shell scripts for IBM i
    6. 12.6 Testing the product activation
      1. 12.6.1 Testing the product activation on IBM i
    7. 12.7 Split large virtual images
      1. 12.7.1 Validating files when splitting an OVA archive
  16. Appendix A. Sample script for KVM host setup
  17. Appendix B. Sample scripts for simple virtual appliance
    1. Installation script for WebSphere Application Server Community Edition
    2. Configuration script for WebSphere Application Server Community Edition
    3. Configuration script for PlantsByWebSphere
  18. Appendix C. Editing the generic.ovf file for IBM SmartCloud Entry deployment
  19. Appendix D. Additional material
    1. Locating the web material
    2. Using the web material
  20. Related publications
    1. IBM Redbooks
    2. Online resources
    3. Help from IBM
  21. Back cover