Virtualization Use Case: Application Scaling using Virtualization

 

Introduction

Information departments have a mandate to increase operational efficiency and service at a reduced cost while at the same time maintaining more applications, and supporting more users.

A method to achieve this is called virtualization. Virtualization allows a physical server to be divided into several virtual servers each appearing to the applications running in them as if the virtual machine (VM) was a physical server. This has several advantages:

  • Scalability - Virtual Machines can be reduced, added or reconfigured as needed
  • Efficiency - Servers can run at peak capacity
  • Economy - Less equipment, space, and cooling costs and easier management
  • Reliability - Virtual machines can be configured to take over loads or replace failed application
  • Ease of use - Virtual machines can be centrally managed

Intel® Virtualization Technology can help to contain costs by increasing the potential of consolidating computing resources into less physical servers and automating their management.

The Intel approach of hardware-assisted virtualization using Intel® Virtualization Technology (Intel® VT) provides hardware assistance that enables virtual machine monitors to operate more efficiently, be managed more effectively, and be developed more easily and quickly.

Virtual Technology Improvements

Virtualization’s basic use was to achieve better utilization of hardware and manage software heterogeneity. With technology breakthroughs like Intel® VT virtualization technology hardware from Intel and software from vendors like VMWare*, XEN*, RedHat*, Novell*, XenSource*, and Virtual Iron*, and the availability of powerful, VM supporting multi-processor hardware this is changing.

A virtualized server can now provide the required isolation between applications making sure a problem on one application does not affect the others while making better use of available processor, memory, and I/O resources. You can have similar functionality and performance while simplifying server management, saving energy, HVAC capacity, reducing the physical server footprint, and efficiently using all resources.

One form of consolidation that can benefit from virtualization is application scaling.

Use Case - Virtual Application Scaling

Virtualization replaces the need for installing more servers and improves IT capability and flexibility. There are many use cases that show how virtualization can be implemented. One use case of virtualization is application scaling.

The Purpose of Application Scaling

Application scaling is the ability of an application to adapt to enterprise growth in terms of IO throughput, number of users, and data capacity. The software does not need to change to handle these increases, just the hardware. This is usually achieved by one of two strategies: Scaling Up or Scaling Out.

Scaling up strategy adds capacity by increasing the hardware capacity - buying a larger server with more processors and more memory for th e application to run in. Scaling out adds capacity by adding additional servers into the application architecture.

Scaling up has the advantage of being simple and requiring few if any changes to the application code. However, this approach is inflexible and can be expensive and wasteful. Scaling out by spreading an application over several small capacity servers allows the application to be incrementally adapted to increasing needs minimizing current expenditures and efficiently providing just enough capacity as needed.

The benefit gained from incremental cost and capacity is not without drawbacks. Scaling out creates increased complexity in the application architecture and the architecture is more complex to manage both concept and use.

Both scaling models are delivering the required performance, but at an ever increasing cost. The remarkable escalation of new applications and services are burdening IT budgets adding to real estate, power, management, and HVAC capacity. Bigger machines lack flexibility; more machines are harder to manage.

Virtual Scaling - Application Scaling Using Virtual Technology

Virtualization’s basic use was to achieve better utilization of hardware and manage software heterogeneity. With VT and Intel assisted VT Applications, virtualization can be applied to scaling making it more affordable and easier

Despite the effort designing and implementing a scalable application, at some point the system will require more capacity. Without VT this means the purchase and maintainance of more hardware, but virtualization solutions can use existing hardware. Increased capacity demands can be met by creating a new VM and running a new instance of the application.

Virtual scaling (VS) abstracts and isolates the application from the hardware. This allows the application to use collective computer resources and run virtual instances based on policy, demand, and resource constraints. Managers can set policies governing resource allocation and supply additional application capacity to maintain service quality and levels during peak usage and planned or unplanned downtime simply by adding more virtual machines. By setting a policy that governs a virtual manager, the virtual manager can analyze usage statistics of queues, threads, response times, and memory and automatically adjust the application needs in real-time, increasing and decreasing application capacity as demands change.

VS has the additional ability to easily reduce peak loads and redistribute capacity once demand goes down. The virtual manger that monitors usage can reduce application VM instances to a normal configuration state as demand subsides.

This ability simplifies the design of a scalable application. VS means that a virtual manager determines, through policy settings, the number of instances needed based on the conditions being monitored.  Scalable applications in a virtual environment do not have to determine the resources need or have knowledge of the resources available.

Conclusion

Using VS simplifies the design of scaled applications, results in more efficient use of resources, and automatically adjusts the scaled application to be available and meet service levels. VS provides the benefits of scaling up - centralized capacity, and scaling out - incremental adaptation, while avoiding the drawbacks of bot h models.

With the improvements made to virtualization technology supporting hardware by Intel and software performance and ability improvements by vendors working with Intel what was only desirable is now available. Intel is working to provide a wide range of platforms supporting virtualization technologies.

For more complete information about compiler optimizations, see our Optimization Notice.
Categories: