Thursday, October 1, 2009

Distributed Application Management - Rapid Remediation

The concept of integrated management software applies to more than just monitoring and diagnostics. Unfortunately, when it comes to remediation, there is no single integrated tool that can do the job across the entire environment. A good policy is look for tools that provide the most automation. The next thing to look for is using as few tools as possible. One interesting approach is to perform post mortem on some recent problems and see if you could have reduced Mean Time To Repair (MTTR) with more automation and whether you could eliminate certain tools by extending the use of other tools. When it comes to remediation, having to deal with fewer tools is better for you. It helps you reduce MTTR.

Let’s look at deployment automation. A fix may require deploying various kinds of changes to the application environment. These changes may involve deploying new application code, correcting configuration discrepancies, tuning database SQL, or patching the software. Similar to monitoring and diagnostics, the task of applying change to a modern distributed application environment is complicated by dependencies amongst potentially large number of affected components. If changes are not applied uniformly across all the affected components, the application environment may become destabilized. Furthermore, change needs to be applied systematically following a set of well-defined policies in order to preserve availability as well as compliance.

When it is time to applying changes, deployment automation tools can be used to group together related change elements into a single package, and orchestrate the numerous steps involved in bringing down elements of the application environment, moving the package into the proper places, applying the change, and re-activating the application environment. Deployment automation helps reduce human errors in potentially complex change procedures, increase the efficiencies of such operations, and ultimately, lead to lower costs and increased agility for the applications. OK, I don’t like to reuse expressions but not all deployment automation tools where created equal either! Most provide a scripting tool and using it, you can develop highly sophisticated deployments. This is certainly necessary but not sufficient. Deploying an application may involve dozens of individual steps. A great percentage of them could be automated for most deployments. A truly useful deployment tool should have these steps pre-defined for you. Furthermore, with some basic questions, you could address a great deal of customizations. So, we should expect deployment automation tools to actually do the job without requiring IT staff to tell the tool how to do the job. In the e-commerce application example, modified checkout logic and table index update can be deployed together, and the change be recorded for auditing purpose.

No comments: