|
Re: Scaling Virtually
|
Posted: Jun 20, 2007 8:25 AM
|
|
First, to understand the concept of Application Virtualization we can't think about the OS and server virtualization. While some of the benefits are similar, the approach and overall value proposition is much different.
Application Virtualization is the complete abstraction and isolation of the application from the operating system and hardware into a container. This decoupling allows for the application to aggregate compute resources across the data center, run anywhere at any time based on policy, demand, and resource constraints. Application Owners can now control the policies that govern resource allocation and provisioning of additional application capacity to ensure service quality during times of planned or unplanned downtime.
The key is the visibility about the application's performance at any given moment, not only that the CPU was pegged at 100% for 12 minutes - this doesn't mean much. Looking at statistics like queue length, thread counts, response times, memory usage, etc. and correlating these and other metrics through policy-based automation make this approach distinct - no manual intervention is involved in any of these steps.
So, now that we understand the approach let's talk about scalability. Using Application Virtualization in this context removes much of the burden on a developer to write a flawless application that will scale. Tools like those from Mercury (now HP) i.e. LoadRunner have assisted developers for years in assuring their applications would scale regardless of the number of users or transactions. In this New World of Web 2.0 and the evolution of the enterprise application, there must be other means of scaling. Our approach to Application Virtualization has the intelligence to evaluate performance and availability in real-time, at runtime, to expand and contract application capacity to meet fluxuations in demand. For example, let's say I am eBay during Christmas time, I am likely to have more users and transactions than I would in July (a time of business slow down for the summer). Using this approach to Application Virtualization, it doesn't matter if the applications scales. Why? Because we would be able to spin up more instances of the application within a cluster or even if there is no cluster. We update the load balancer(s) that there are more instances of the application to send workload too. Once demand goes back down to a normal level, we would quiesce the application servers and go back to a normal configuration state. This is truly autonomic computing, thus removing the need to manually configure anything. Whalaa! Service quality, reliability, and scalability were met despite huge spikes in demand.
Hope this helps.
|
|