Building application optimization is the first step in the application optimization process.
Build Leveraging the build, virtualize, and provision concepts that deliver infrastructure optimization to provide a solid foundation for service deployment
Again, build, virtualize, and provision is used as an additive approach to improving IT efficiency. The building-block approach is leveraged within the application architectural layer presented in this chapter. There must be a solid interface to the adjoining infrastructure layer, which was discussed in the previous chapter, and building application optimization is that interface.
As the first component of the application optimization hierarchy, the build process is the same as the process presented in "Building Infrastructure Optimization" on page 148. Just as the elementary build process became the foundation for infrastructure optimization, the entire infrastructure optimization process is the foundation for application optimization. Applications cannot live without the infrastructure to support them. What better way is there to optimize the build of individual applications than to leverage the entire infrastructure optimization functional component of the N1 Grid system?
Building infrastructure optimization was defined as leveraging compute, network, and storage common platforms, enforced standards, and modular deployments to create the foundation of the "wire once, deploy forever" optimized infrastructure environment. In the rush to the next best thing, the basics are often overlooked. Chapter 8 details the importance of paying attention to the little things. In summary, the ideas that support build optimization are:
The second area of focus for infrastructure optimization was the opportunity provided by virtualization. Virtualizing the infrastructure optimization was defined as being specific to the infrastructure layer. Virtualization's main purpose is to provide an abstracted view of a collection of discrete compute, network, and storage resources for the purpose of reducing management complexity and increasing operational efficiency. Chapter 8 reviewed the benefits of reduced cost and complexity delivered through virtualization and the importance of leveraging the optimized build infrastructure to achieve the reductions more efficiently. Because the infrastructure of the N1 Grid system explicitly leverages the entire data center, compute, network, and storage virtualization were discussed independently. Examples of the efficiency of virtualization by the N1 Grid PS and N1 Grid DSP were discussed.
The third and final area of focus for infrastructure optimization is provisioning. Provisioning the infrastructure optimization was defined in Chapter 8 as being specific to the infrastructure layer. Provisioning is the act of automatically taking a compute, network, and storage component, or series of components, to a higher level of functionality in a repeatable and consistent manner. This typically involves installing software or making configuration changes to provide a state of service readiness. "Saving Costs" on page 169 specifically detailed the cost savings that can be achieved with infrastructure provisioning. Further, a task-based approach to realizing infrastructure provisioning was presented. The task-based approach includes basic automated operating system provisioning, image-based operating system provisioning, and comprehensive heterogeneous infrastructure provisioning. Examples were given of the efficiency of provisioning delivered by the Solaris JumpStart software, the Solaris Flash software, and the N1 Grid PS.
Applications, and the services they support, can be built on a hodgepodge of infrastructure components. Unfortunately, that is how they are too often delivered today. That lack of discipline in the infrastructure is a key contributor to the cost and complexity of application deployments. A robust infrastructure of common platforms, virtualized for management efficiency, and automatically provisioned for improved service delivery, provides an all-important foundation for the process of application optimization.
While the goal of application optimization can be discussed without relying on infrastructure optimization, it cannot be achieved in its entirety without it. Equally important to this goal is application virtualization and provisioning. The next two sections in this chapter discuss those topics and how they add crucial elements to the process of building application optimization.