In cloud computing, there are three primary functional pillars involved in delivering Infrastructure as a Service solutions:
- Compute capabilities enable computing or virtual machine functionality.
- Storage capabilities facilitate the storage of data alongside the compute nodes (as direct or indirect storage available to these nodes).
- Networking capabilities enable connectivity between the compute and storage nodes.
This article explores the fundamentals of an important concept within the compute pillar — the use of image and service catalogs in cloud environments.
Image and service catalogs: Fundamentals
You know that using and reusing virtual machine components in a cloud computing environment accelerates machine deployment and reduces the risk of introducing human error into the deployment. Did you know that image and service catalogs can be used as a tool to further simplify the process, enabling users to easily save components and re-instantiate them an infinite number of times? Cloud computing platforms typically offer pay-per-image cataloging capabilities, making it easy and cost-effective to save and deploy images from a variety of vendors or developers within an organization.
There are three types of catalogs used in cloud computing environments: Private, public, and service. Let's look at each.
A private catalog is a collection of virtual images that are only visible within an individual cloud computing account. Private catalogs originate as empty receptacles and are filled over time with images created by the account owner. These catalogs are associated with a single company or organization, but are typically accessed by more than one user.
A private image is a virtual machine instance saved into a persistent state. These images are visible only to the account owner initiating the virtual machine save. Private image saves typically result in images that can be re-instantiated in larger instance sizes than originally created, increasing their usefulness to the owner. Upon initiating a save, private images are reduced to save only the data stored in the image rather than the entire disk allocated on provisioning.
For example, a 120GB disk for a virtual image may only end up storing 4 to 6GB of private image data if the operating system data has not changed and no additional information was added prior to saving the image.
In a cloud environment, private images are also stripped of information that is automatically replaced when re-provisioned, including a variety of network-related information and authentication credentials. These elements are re-injected upon provisioning.
By enabling users to easily create "golden" images (images to be used as templates) and reusable development images, private image functionality is a useful mechanism for ensuring deployment consistency and repeatability.
A public catalog contains images that are available to all cloud computing accounts within a particular data center. For example, each IBM SmartCloud Enterprise data center has a unique public image catalog, available to accounts within the facility.
Public catalogs employ a concept unique to cloud computing — they aggregate images from a variety of accounts and allow each account to provision instances from the catalog.
A public image is a private image with elevated permissions making it available within a public catalog. By elevating private images to a public catalog, vendors can offer software to cloud users via pre-installed and pre-configured images. Many software vendors use public image catalogs as a simple, easy delivery model for getting products to market.
IBM offers many of its software products as public images, enabling users to employ these images as base instances for creating value-added services. IBM DB2®, Informix®, Lotus® Domino, Process Center, and other software applications are currently available as public images and can be instantly deployed in a variety of instance sizes.
In IBM SmartCloud Enterprise environments, a private image must be nominated and pass certain IBM SmartCloud integrity checks to be included in a public catalog.
Figure 1. Promoting images to a public catalog
In cloud computing, a service delivers a single function or set of functions to a user at a specified price point. Services aggregate one or more resource requests to accomplish a task and simplify the delivery of a capability. Aggregating resources also simplifies the control and grouping of individual assets. By handling assets in aggregated groups, providers can offer clients a single consolidated service price, often at a discounted rate.
For example, the IBM SmartCloud Application Services (SCAS) offering is a service comprised of many virtual instances, all bound together by a single service definition. SCAS provisions virtual machine resources, allowing users to control these resources via SCAS start and stop functions. The service's price indicator shows the combined price of all instances it controls and can display a value-added price for all of the service components it delivers.
IBM SmartCloud services are defined and created using the Cloud Services Framework (CSF; available to all users) and may encompass as many functions or resources as a programmer deems necessary. An IBM SmartCloud service catalog comprises services developed using the CSF. Like image catalogs, service catalogs can contain private resources (images, storage, or other) that are only available with a particular account, or public components or images that are available to all accounts within a data center. Each IBM SmartCloud data center has a service catalog with unique services (also known as catalog entries); upon request, services from a specific IBM SmartCloud data center can be exposed across additional data centers.
Figure 2. Using service catalogs to deliver capabilities
Image and catalog support in IBM SmartCloud environments
Table 1 illustrates the support available for images and catalogs in IBM SmartCloud Enterprise and IBM SmartCloud Enterprise+ environments. It is important to note that although IBM SmartCloud Enterprise+ does internally support public images and catalogs, it lacks the private image save functionality needed to facilitate the public image promotion process, so public image capabilities are not currently available to the vendor ecosystem. IBM SmartCloud Enterprise+ supports a variety of OS choices for provisioning from a base image catalog.
Table 1. Image and catalog support for IBM SmartCloud Enterprise and Enterprise+
|Offering||Public images/catalog||Private images/catalog||IBM public services||Private services|
|IBM SmartCloud Enterprise||Supported*||Supported||Supported||Supported|
|IBM SmartCloud Enterprise+||Not supported*||Q1 2014||Not supported||Not supported|
|*This offering supports a public image catalog for certain base OS instance types (Windows® and Linux® for SmartCloud Enterprise; Windows, Linux and AIX® for SmartCloud Enterprise+).|
It is important to note the relevancy of certain catalog types as they pertain to a managed infrastructure service versus an unmanaged service. There are different demands and different price points for delivering public and private catalog capabilities within a managed service. For example, public instances that are compliant with Information Technology Infrastructure Library (ITIL) and security standards must be updated with the most recent security patches and middleware versions in order to provide reliable service and meet service level agreements. Plus, public images and catalogs typically contain a mixture of vendor-specific and third-party images that are difficult to deliver in a wide variety of managed options. When public images are stored, they must be periodically re-enabled and patched to ensure quick, on-time delivery, which drives up the price point for storing these images.
At first thought, an image or service catalog might seem to be just a repository, but we hope we have convinced you to start thinking of them as an additional tool to help you accelerate deployment and delivery through reuse of existing resources.
- For additional IBM SmartCloud information and resources, visit the IBM SmartCloud solution provider portal.
- For more on how to perform tasks in the IBM Cloud, visit these
- "Up and download files from a Windows instance".
- "Install IIS web server on Windows 2008 R2".
- "Create an IBM Cloud instance with the Linux command line".
- "Create an IBM Cloud instance with the Windows command line".
- "Extend your corporate network with the IBM Cloud".
- "High availability apps in the IBM Cloud".
- "Parameterize cloud images for custom instances on the fly".
- "Windows-targeted approaches to IBM Cloud provisioning".
- "Deploy products using rapid deployment service".
- "Integrate your authentication policy using a proxy".
- In the developerWorks cloud developer resources, discover and share knowledge and experience of application and services developers building their projects for cloud deployment.
- Find out how to access IBM SmartCloud Enterprise.
Get products and technologies
- See the product images available on IBM SmartCloud Enterprise.
- Join a developerWorks community cloud computing group.
- Read all the great cloud blogs on developerWorks.
- Join the developerWorks community, a professional network and unified set of community tools for connecting, sharing, and collaborating.