The third step in the building block process is the provision phase.
Provision Automatically elevating the level of functionality for a compute, network, storage component, or a series of components in a repeatable and consistent manner
Typically, involves installing software or making configuration changes to provide a state of service readiness
Like virtualization, provisioning is a term that means many things to many people. If it is so overused in the IT industry, can discussions about provisioning actually help? Yes, because context matters. Provisioning can reference the very generic, which is worthwhile for infrastructure optimization. The context of the infrastructure is key, and provisioning is an important building block that is required for overall IT optimization provisioning.
As the third component in the overall process of infrastructure optimization, provisioning is a tangible and common activity in most IT environments. Manually installing software and making configuration changes is a routine task. Installing an operating system on a server is the prototypical example of infrastructure provisioning. The server begins at a basic level of functionality, and through a manual process, the software bits are transferred to the server. They are then configured to give the server a unique personality, and finally, the system is booted from the new software with a much higher level of IT functionality.
While very common, this manual process of provisioning is time consuming and prone to human error. With a lengthy and varying list of steps in the process, there are many instances where systems suffer reduced availability because one of the steps was done incorrectly or excluded from the provisioning process. Even if the process is accomplished without error, the excessive amount of time it requires is a burden to the IT staff.
The key element of infrastructure provisioning is the migration to automation, delivering a consistent and repeatable process, and dramatically decreasing the time to deliver services. Automatically provisioning a virtualized infrastructure of common platforms completes the architecture of infrastructure optimization and builds the foundation needed to achieve strategic flexibility.
Because the infrastructure of the entire data center should be leveraged for optimization, infrastructure provisioning must include storage and networking. An optimal solution must support provisioning all of the infrastructure, not just the compute elements. That should be the goal of moving to the N1 Grid solution: automated, comprehensive, heterogeneous, and complete infrastructure provisioning.
The value of automated infrastructure provisioning is worth the effort. The potential cost savings are important. In your IT environment, you can implement different categories of infrastructure provisioning. The categories are discussed in the following sections.
Automating the provisioning process enables significant cost savings in the IT environment. Significant time and effort is expended to manually install operating systems. This involves not only the act of installing the bits, but also creating the personality of each system through detailed configuration changes. This process is time consuming and prone to human error. Leveraging automation can significantly save costs, not only with time on the front-end, but also with improved availability through the entire life cycle.
The automation of manual processes, while an important and significant cost saver, is just one of the benefits that provisioning brings to the bottom line. Automated provisioning can decrease the actively managed operating system instances to save costs.
Horizontally scaled infrastructures are usually characterized by multiple small systems and leverage many independent operating system images, each deployed on low-cost hardware. Automated provisioning can deploy the operating system images with the same personality on multiple systems. This model breaks the paradigm of independent management of each operating system image on each system.
By focusing on managing one operating system image and automatically provisioning that image to numerous systems in a horizontal architecture, the cost savings can be significant. IT outsourcing contracts typically use the number of installed operating system instances as a major cost driver. Additionally, it is common in the IT industry to track the number of administrators per system (which today means per operating system image) as a cost efficiency metric. Both metrics are changed through automated provisioning of the operating system image. The IT costs per installed operating system image are greatly reduced. Instead of an administrator actively managing ten or twenty systems, one operating system image is managed and automatically provisioned to those systems. Administrators can manage ten times, the number of systems previously managed, or more. The cost savings delivered by automated infrastructure provisioning are dramatic.
The only trap in this cost savings process is not taking the time to change to an image-based model. The time to automate the provisioning process will be longer than the manual process. Extra time should be spent to develop use cases for operating system installations to ensure that the automated image is as robust and bulletproof as it can be. All this takes time. Too often in the rush to get today's business done, the appropriate focus is not spent on how to do it better. An investment is definitely required in building an automated provisioning model. However, after the automated process is in place, it will pay off significantly.
Automatic Infrastructure Optimization
The end goal of infrastructure provisioning is to develop an automated, comprehensive, heterogeneous, and complete infrastructure provisioning environment. To achieve this goal, you must understand the available options and the required tasks to implement this architectural element.
The options to achieve automated infrastructure provisioning vary greatly in their functionality and maturity. Because this area is a focal point of the industry, basic options are being expanded in functionality and new comprehensive solutions are evolving rapidly. To simplify the discussion of the available options, the following sections present three categories of automated infrastructure provisioning.
Basic Automated Operating System Provisioning
The basic category of automated operating system provisioning is characterized as a tool that comes bundled with the operating system. There is no additional licensing cost to deploy it. Because it is bundled, it is likely to be vendor specific or proprietary to an individual operating system. Its functionality will likely duplicate the manual, usually package-based, installation process. When an operating system is typically installed from a CD-ROM drive, it is installed one package at a time and takes a given period of time to install. The basic automated process makes the manual process hands off, not gaining any benefit of time in the process. Although these tools are basic, they have robust scripting capabilities enabling significant expansion of their basic capabilities. Examples include the Solaris JumpStart software, RedHat Linux KickStart, and HP-UX Ignite-UX.
Image-Based Operating System Provisioning
Image-based operating system provisioning is the next step in the provisioning hierarchy. The main difference, and improvement in functionality, between image-based provisioning and the basic level of provisioning is automating the package-based install to create complete operating system installs as images. The first step in image-based provisioning requires you to perform a manual install or a basic automated install of the operating system. You then use a tool to take a snapshot of the installed operating system and store the image for reuse. A single image can be duplicated many times. The tools are able to redeploy the images significantly quicker than relying on a package-based install.
Image-based provisioning covers a wide spectrum of tool features and availability. It might be a vendor-specific bundled tool or it might be a third-party heterogeneous tool. Because these tools require images, there is an additional administrative and infrastructure requirement to store and manage the images. These tools tend to vary more in their functionality, so a deployment decision would require a more detailed analysis specific to that individual IT environment. Image-based provisioning tools include the Solaris Flash software, HP-UX Ignite-UX, and Bare Metal Restore.
Comprehensive Heterogeneous Infrastructure Provisioning
The highest category of infrastructure provisioning is characterized as comprehensive and heterogeneous. A comprehensive solution includes more than just operating system provisioning. Network and storage elements are key parts of the infrastructure and need to be provisioned along with the operating system.
If a tool is to be labeled comprehensive, it must have the functionality to provision all of the pertinent infrastructure, not just the operating system. Heterogeneity is another quality that must be present in this category. Any implementation of infrastructure provisioning in an IT environment must benefit all of the environment. Some tools tend to be vendor specific or server specific. For true N1 Grid software functionality, the full heterogeneous environment must be managed as a single image.
The tools available are limited in number and evolving in functionality. Because of the comprehensive nature of this functionality, the tools require additional dedicated administrative and infrastructure support. The tools are also subject to appropriate licensing fees from their respective vendors. The N1 Grid PS software is an example of a comprehensive infrastructure provisioning tool.
With an understanding of the previously mentioned options, what is the best task-based approach to realizing the benefits of automated infrastructure provisioning? The answer comes back to analyzing the target IT environment and its maturity. If no level of automated infrastructure provisioning is in place, you might want to start simply. If you are using different vendor-specific tools, you should explore a comprehensive heterogeneous solution.
The frequency and variability of deployments are factors in what becomes the correct path. The goal should be to achieve comprehensive heterogeneous automated infrastructure provisioning. The IT environment can leverage that functionality for many other efficiency improvements.
A benefit of the provisioning options is that they can be independently achieved or worked through in a hierarchical manner. Their independent nature means that no option is dependent on any other option. Although an environment might have no automation in place, there is no reason that a complete solution could not be achieved with appropriate planning and execution. This rapid level of functional advancement might be risky. Leveraging the hierarchical nature of the options can add value. Each option provides a little more benefit than the previous one.
Start simple, make distinct, low-risk, and measurable achievements. Then start planning to take the next step. Each option matures the environment, so you should focus on improving the level of automated infrastructure provisioning. It is important to build the foundation required for strategic flexibility.
Automatic Infrastructure Provisioning Examples
The best way to understand the different options for automated infrastructure provisioning is to discuss examples to review the pros and cons. The examples that follow should help you understand the different categories of automated infrastructure provisioning.
Basic Provisioning Example
The Solaris JumpStart software is an automated installation process to set up a Solaris OS system anywhere on your network without user interaction. The Solaris JumpStart software enables you to install or upgrade Solaris OS systems on a large scale or in a replicated fashion. The Solaris JumpStart installation method is based on profiles that you create. The profiles define specific software installation requirements. You can also incorporate shell scripts to include preinstallation and postinstallation tasks. You choose which profile and scripts to use for installation or upgrade. The Solaris JumpStart software then installs or upgrades the system.
The advantages of the Solaris JumpStart software are:
The disadvantages of the Solaris JumpStart software are:
Image-Based Provisioning Example
The Solaris Flash software enables you to install many systems, based on a configuration that you install on a master system. After you install and configure the master system, you create a Flash archive of the system. Using this system image, you can then replicate reference server configurations onto multiple clone servers. The Solaris Flash images can be deployed using standard media or over the network through HTTP and Network File System (NFS). The Solaris Flash images can be installed using custom Solaris JumpStart scripts, the Solaris™ Web Start graphical interface, or the Solaris OS interactive installation. You can create as many Web Start Flash archives as you need. You choose which Flash archive to install on each different system. This installation technology reduces configuration complexity, improves deployment scalability, and saves significant time and administrative resources for server deployment.
The advantages of the Solaris Flash software are:
The disadvantages of the Solaris Flash software are:
Comprehensive Provisioning Example
The N1 Grid PS software provides a highly scalable and powerful infrastructure management environment. Running on one or more dedicated servers, in an out-of-band management network, the N1 Grid PS software enables users to rapidly design, configure, provision, and scale logical server farms automatically. Logical server farms are a collection of logically connected Internet systems, network, and storage that are provisioned by the software from a common pool of components. The N1 Grid PS software manages this server pool, along with networking resources, such as networking virtual local area networks (VLANs) and IP addresses. It also manages the virtualized storage infrastructure in a way that enables users to create, scale, reconfigure, and decommission IT infrastructure farms on the fly.
The N1 Grid PS software features a web-based interface. The control center interface enables multiple users to design, create, and manage the infrastructure securely and independently. In addition, they can manage any number of physical locations. The software automates the deployment of an infrastructure by enabling the virtual wiring together of server farms based on the networking diagram drawn by the user in the web-based drag-and-drop design interface. The software image management and distribution components of N1 Grid PS software provide a software image management system that features a library of master software images. The library can be housed on any NFS or FTP server connected to the management network.
After a farm is created, the N1 Grid PS software provides a full set of capabilities to manage the complete life cycle of deployment, including design activation, scaling, standby, and deactivation. The N1 Grid PS software enables you to rapidly adjust, or flex, your server farm capacity up or down by changing the farm design from the web-based interface. Adding a server to a farm is as easy as dragging a new icon into the network design or increasing the number of servers represented in a server group.
When the N1 Grid PS software provisions a new server to the farm, it automatically manages all aspects of the change. Server disk images are provisioned, and the system is automatically added into the server farm.
The advantages of the N1 Grid PS software are:
The disadvantage of the N1 Grid PS software is:
This chapter has focused on operating system provisioning as the upper limit of provisioning for infrastructure optimization. The next logical step in building an IT service delivery infrastructure would be to deploy middleware and applications to the just-provisioned operating system environment. Most of the operating system provisioning tools described in this chapter could be expanded to do elementary-level application provisioning. It is important to understand when it is appropriate to expand the use of infrastructure level or operating system level provisioning to deploy applications instead of taking the next step by achieving application optimization through application-level or service-level provisioning.
The decision involves understanding the overall server strategy (standalone servers, shared applications on servers, large server farms, or PODs), along with three factors:
TABLE 8-2 clearly shows that in some instances infrastructure-level or operating system-level application provisioning is a valid choice. Those instances are not going to be widespread across the data center, but in niches like web server deployments, might prove the most effective deployment method.
Infrastructure-level or operating system-level application provisioning has limited usefulness based on several conditions:
As stated, the next logical step in building an IT service delivery infrastructure is to deploy middleware and applications to the operating system environment. In some cases, this can be accomplished with the expanded use of infrastructure-level or operating system-level provisioning. As you move to a fully realized N1 Grid operating environment, the value of a separate service provisioning infrastructure becomes very clear.