As Robert Frost said so eloquently in his poem “The Road Not Taken”:
I shall be telling this with a sigh
Somewhere ages and ages hence:
Two roads diverged in a wood, and I—
I took the one less traveled by,
And that has made all the difference.
If Robert Frost were an IBM PureApplication System deployer, he might have written about three roads that diverged in a wood. As with most things in this business, there are several ways to accomplish complicated tasks. Modifying and deploying a virtual image falls into the category of a complicated activity. Luckily, PureApplication System offers three options.
1. Extend/capture is the first option you might consider since its capabilities reside entirely within the workload console. Using the extend/capture feature, you can use an existing virtual image to add a new virtual image to the system catalog. A copy of an existing virtual image is created, and a pattern from the image is deployed to create a virtual system image. You can log in to the instance, make modifications to the product environment or operating system and save the changes to a new virtual image. Once the changes are saved, the changes made to the instance are copied from the hypervisor to the system. The new virtual image is created based on the virtual system instance.
2. ICCT (Image Construction and Composition Tool) is available as a virtual application pattern and is easily deployed. ICCT provides the capabilities to combine your own operating system definition along with custom software bundles to compose virtual images that can be provisioned into PureApplication System. With ICCT, you can configure PureApplication System as the cloud provider. This allows you to import images from the PureApplication System catalog, extend those images with software bundles and then capture the new image back into PureApplication System. You can then deploy the new image in PureApplication System.
As a side note, the capabilities of ICCT and extend/capture sound quite similar. This similarity is because ICCT uses the extend/capture feature “under the covers.” However, there are key capabilities of ICCT that are not available to extend/capture. ICCT allows you to add deploy-time parameters directly into an image. ICCT also performs automatic checks for operating and software compatibility. As ICCT is doing its work, it keeps track of the software bundle added to the image, and the same bundle can be added to multiple images. In cases where you simply need to add additional content to an image, extend/capture is a reasonable choice. However, because of its robust features, ICCT should be considered the preferred tool for image modification.
3. Script packages are ideal for components that may change frequently because they are small and quick to install. These components include applications, drivers and resource adapters. A script package is a directory compressed into a single file that is uploaded to the catalog and then associated with virtual system patterns. The code included in the script package can be as simple as a .war file or as complex as a complete product. The script included in the script package defines the required content for that package. During deployment, script packages are transferred to the target virtual machines at a location that you specify in the configuration.
To summarize, ICCT provides a means to modify virtual system patterns in a repeatable manner. The extend/capture feature is used by ICCT but is not as automated and repeatable as ICCT. Using script packages is a valid option if you need to make frequent changes to components.