subject: Self-tuning Applications In The Cloud: Its About Time! [print this page] There are many reasons to undertake a Cloud application migration, but one of the most important ones is to take advantage of its dynamic nature. Your applications load probably changes constantly; now your application can utilize more or less resources based on the changes in load. Unlike in the data center, in the cloud additional resources are available at the push of a button; you can scale your application to its load at any given time.
Of course, the push of the button is an exaggeration. In the real world you must push many buttons, run many scripts, configure many pieces of software, and then go back and fix everything that broke. And this is the easy part! The hard part is knowing when to scale, and how much resources to provision.
How frustrating to have such a powerful new cloud platform at your disposal but no ability to leverage its dynamic benefits. The only way to realize the full benefits of the cloud is to make your application self-tuning, and for that you need a few different kinds of technology. If youre using web application performance testing as your only way to manage performance, youll have some work to do. Luckily, the technology is available, and not that difficult to deploy and use.
First, Cloud-Ready Business Transaction Monitoring. Your application performance monitoring tool must be able to automatically discover and understand the distributed nature of your application in the cloud. Static monitoring systems will not work if you really have a dynamic application that is constantly changing and taking advantage of the various cloud resources.
Second, Analytics on top of this rich monitoring data. A good monitoring system will collect large amounts of data, which means youll need an analytics system which can help in performing long range analysis and trending to understand the behavior of your application You can then gain key insights and detect patterns that help you predict when scaling will be required.
Third, Cloud Orchestration. Youll need a system which can take all the information you have and actually perform the scaling operations. Your system will know that a threshold has been reached and initiates a scaling operation later, when the extra resources are no longer necessary, it can kill off nodes. Once you have this, you have a self-tuning application.
As you see, these three systems work tightly together to study your application, scale it, and study some more. Taken together, they can be considered to be a true Application Performance Management systemwhich needs to consist of Cloud-Ready Business Transaction-centric Monitoring, Analytics, and Orchestration. This powerful APM engine improves the efficiency and effectiveness of the scaling, allowing your application to perform optimally in the cloud without much human intervention. And now you have a self-tuning application!