Grid Software Installation Complexities
When looking at the process of installing complex grid software solutions, many challenges and issues arise. In the past, a single solution might be installed on a single, standalone system. Though the installation with all of its prerequisite software may have been complex, a specialist familiar with the application and all of its components handled the installation. Once installed, the environment tended to be fairly stablewhich is importantand changes to it were made cautiously and through close adherence to change management processes.
To meet the efficiencies required by today's business requirements, a grid system may run components used by multiple solutions, and a single solution typically depends on a variety of software components across multiple systems. In addition, in order to handle capacity requirements on demand, new systems need to be provisioned or reprovisioned with the appropriate components in a fast and efficient manner. In a grid environment, where responsiveness is key, systems may need to be redesigned to meet dynamic business requirements.
Manually installing and tracking all of the components associated with a solution and cross-checking with other co-resident applications for other solutions is a daunting and time-consuming task for any administrator. It should be avoided at all costs. Building an environment in which systems can be deployed or redeployed quickly and effectively requires advances in how solutions are deployed and tracked. For instance, think about multiple solutions made up of multiple applications, each requiring components such as web servers, application servers, databases, and middleware that allow them to communicate with each other. Now add version and patch dependencies, and the planning for what needs to be installed where and at what level is a major task.
Now think about the actual deployment. Different software components have different installation programs with different levels of requirements for user interaction, and again various methods of prerequisite and co-requisite checking. What happens when a component such as the database engine needs to be upgraded to a new revision level to satisfy the requirements of one application? How will that change affect other applications that may use the same database engine? Such important questions must be reviewed and solved during the grid planning process.