Features

May 2008

Virtualization

Virtualization affects applications

The infrastructure needs to be built so that capacity can be changed and resources removed transparently.

by Amir Peles

 CN
In a virtualized server environment, there is an inherent performance hit as a result of the virtualization layer overhead.

To some IT departments, virtualization is at the server level, running multiple operating systems on one server. To others, it enters at the network level, consolidating multiple servers, managed from one logical entity. Still others apply it at the application level, keeping applications isolated from each other while operating on the same environment.

Regardless of how virtualization is used, it can impact the way organizations run their business, and will likely grow in the coming years. According to research firm IDC, spending on virtualization software and services is expected to exceed $15 billion worldwide by 2011, up from $6.5 billion in 2006.

A number of key considerations and challenges exist with virtualized server environments that IT managers should understand. Enterprise requirements, for example, in terms of application availability, performance and security, are not addressed by virtualization solutions.

Mission-critical applications should be fully available, regardless of the underlying infrastructure. Though software-based high-availability capabilities are integrated into many server virtualization solutions, they suffer from several deficiencies:

  • Typically, availability is monitored at the virtual machine level. Action is taken only when a server or a virtual machine fails, but not when there is a failure of the OS or application software running on top of the virtual machine. Failure in the network connection to the server also may not be detected.
  • Since all server virtualization solutions are software-based, they monitor availability by implementing a software agent on each physical server, thus consuming resources of every server in the virtual infrastructure for this purpose only.
  • Failure recovery time is typically as long as it takes to start a virtual machine on a different server. This may vary based on the machine load and can, in some cases, take up to several minutes. During this period, service is denied to people who were using applications on the failing virtual machine.
  • Additional spare resources must be allocated for failure occurrences to run the additional virtual machine. These resources are not utilized when all servers and virtual machines operate properly.

To ensure business application availability, all of the above challenges should be addressed. Failures at all levels (server, OS, network, application and data) should be detected, and users need to be instantly serviced by an alternate resource when a failure occurs.

Mission-critical applications are dynamic, change to accommodate company growth and fluctuate in terms of users (employees, partners and customers). There may also be a requirement to increase application capacity due to changing market conditions, such as seasonal peaks in business application usage, including end-of-quarter or annual financial activity. This translates into the need for building the application infrastructure so that capacity can be changed and resources, such as servers, storage or bandwidth, can be added or removed transparently, without application service interruption or application code changes.

Server virtualization's capacity for quick and transparent virtual machine mobility from server to server addresses this need. The integrated clustering capabilities in many server virtualization solutions, however, have the following limitations:

  • Integrated clustering is based on load-balancing functions performed by software running on all servers. Requests are broadcast to all virtual machines in a cluster and the selected virtual machine is chosen accordingly.
  • Clustering software on the respective virtual machine forwards the request to the application. This solution wastes resources and requires changes in server configuration.
  • All servers have to handle all packets, even if not processing them in the application, causing a traffic peak to impact all servers in the cluster unnecessarily. Scalability is typically limited to 32 virtual servers in a cluster.

In a virtualized server environment, there is an inherent performance hit as a result of the virtualization layer overhead, which impacts end-user response time. Additionally, users can be anywhere, accessing applications over the wide-area network (WAN) from remote offices, home offices or mobile devices. User location, access point and bandwidth can introduce further bottlenecks that may impact the actual application response time.

Virtualized server environments are considered secure, since all operating systems and applications are executed within a closed environment. Even while running on a virtual server infrastructure, however, critical business applications should be open to external users and networks for standard business operations. Therefore, they are exposed to denial-of-service (DoS) attacks, which can target any server on the network by generating an increased demand for the application, overwhelming application resources.

DoS attacks such as SYN floods and other transmission control protocol floods can paralyze critical applications for the length of the attack, deny service from legitimate business users and translate into downtime. This security threat should be taken into consideration as part of the overall business continuity strategy of an organization.

In a virtual application environment, there are management requirements that go beyond server management. No matter which physical server or virtual machine it runs on, each application needs to be managed by authorized administrators allowed to modify its infrastructure. Full user and access management is required at the server level and at the application infrastructure level.

Running servers at 60 percent to 80 percent utilization requires careful capacity monitoring and planning. A standard interface that features statistics reporting, visibility and alerts is a requirement of any management system.

In addition to value and cost savings achieved by implementing server virtualization, look for application delivery solutions offering additional virtualization capabilities that translate into further costs savings, greater flexibility in application provisioning and improved capacity planning of application infrastructure, such as:

  • Application resources virtualization is possible through the abstraction of virtual machine groups running on top of physical servers into logical server farms. Any aspect of the application infrastructure is completely transparent to end-users and application developers, including how many virtual machines and physical servers are used and whether they are located in single or multiple data centers. Resource usage is optimized through load balancing and redirection of sessions to the virtual farm, without adding processing overhead to the servers.
  • Full application service virtualization can be achieved through the ability to represent services/applications with one virtual IP address, advertised and managed through DNS/anycast from multiple locations. This enables multiple protocols to target the same IP address, providing simplification in terms of traffic and policy management, reducing further cost of infrastructure ownership.
  • Resources such as bandwidth and the number of connections can be managed as a pool and are allocated either per application (regardless of the physical infrastructure serving it) or physical resource, ensuring that each server is not overwhelmed with traffic and can continue serving the virtual machines running on it.
  • Peak surge operation enables the definition of backup servers, per application or physical server. This means that upon failure or reaching a defined capacity limit, more servers are added to the farm immediately and automatically, using virtual machine instances already installed but normally not serving traffic, thus enabling physical server resources to be used by other applications.
  • Management permissions and controls are defined according to the virtual application structure, regardless of underlying resources.

Amir Peles is chief technology officer for Radware, Mahwah, N.J.

For more information (click here)