In the last few years, the Internet has become increasingly important in various fields of our lives. Not only personal households have discovered the nearly endless possibilities of the Web, but also companies found many different ways of gaining revenue through the online world. Most of the global players and many medium-sized IT companies have realized what opportunities the Web and its technologies provide and used them to build up new services for consumers and businesses. In order to compete with the evolving market, companies of traditional business areas such as newspapers or TV broadcasting companies had to diversify their product lines and are forced to react in a fast, flexible and cost efficient way on every day’s changes of demands and technologies. In fact, every company has to adapt these technologies efficiently to have a chance in the growing market.
As it brings its benefits, cost savings and new customers, every new technology also comes with the more or less known downsides. Even if IT managers are qualified to consider most of the details in how to use and implement them, new software, hardware or resources will – no matter what – always cause unpredicted problems. Due to the IT dependence of today’s companies, every downtime, bug or system overload of a production system directly results in declining profits and higher costs. Especially for service providers, every downtime is business critical to many dependent companies and has to be prevented.
Therefore, companies spend a considerably high amount of money and time to create a stable, flexible and extensible IT environment that supports their business by minimizing risks, increasing availability and allowing to provide better service levels to customers.
Virtualization is a key technology that addresses to achieve these goals. It allows to run multiple virtual computers on the same physical system. By creating an abstraction of the underlying hardware, it allows to execute a variety of virtual machines (VMs) on top of a virtualized hardware.
This article will discuss how the technology of virtualization works, what advantages it offers and why it is an essential part of today’s data centers. The focus will be the server virtualization solution VMware Infrastructure, the flagship product suite of VMware Inc.
Update May 2010
In May 2009, VMware rebranded VMware Infrastructure to vSphere by releasing version 4 of the product. According to VMware, the new version of the product “extends the previous generation” in and “is the core of [its] cloud computing initiative”. Please note that supposedly almost all features described in this article also apply to vSphere. A comparison of vSphere and VMware Infrastructure can be found in VMware’s knowledge base.
- 1. Evolution of Data Centers and Software Deployment
- 2. Defining Virtualization
- 2.1. Advantages of Virtualization
- 2.2. Types of Virtualization
- 2.3. Players on the Virtualization Market
- 2.4. The Anatomy of a Virtual Machine
- 3. VMware Infrastructure
- 4. The Downside of Virtualization
- 5. Conclusion
Download as PDF: This article is a slightly shortened version of my seminar paper. Feel free to download the original PDF version, or the presentation slides.
1. Evolution of Data Centers and Software Deployment
Traditionally, each big enterprise – be it an IT company or anything else – had their own IT department, their own IT infrastructure and therefore also a data center where all required services such as e-mail, SAP and Web servers were hosted. Over the last decade, the ongoing trend of outsourcing has changed a lot in the modern IT landscape. Companies continuously try to eliminate cost generating areas and outsource them to external service providers.
1.1. Software as a Service
Not only many data centers, but also applications and services are operated and administered by so called application service providers (ASPs). Unlike the classic approach where software has to be purchased, licensed and installed on company owned servers, “in the Software as a Service (SaaS) model, the application or service is deployed from a centralized data center across a network [..] providing access and use on a recurring fee basis” (SIIA, 2001). That is instead of generating uncompensated costs by running and maintaining required non-revenue generating services, one can concentrate on the core business and leave updates, security fixes and high availability issues to the service provider.
1.2. The Impact of Virtualization on SaaS Providers
While service providers are expanding their data centers, more and more companies reduce their IT to a minimum and “rent” many applications from ASPs. Hence, service providers have to shoulder thousands of different applications and operating systems (OS) in their own data center. Each of them has to be available 24/7 and adjustable to the customer’s wishes. Managing data centers of this size is very expensive and requires special technologies to be operated efficiently. Server virtualization, i.e. the hosting of many different guest OSs on one physical system, is a key technology for SaaS providers and has a major impact on their profitability. Due to the fact that virtualization reduces the number of required physical servers, a virtualized data center can minimize the hardware costs while at the same time allowing a flexible way of distributing resources to customers. Multi-tenant applications are designed to serve many customers at the same time, but often do not include the functionality to flexibly distribute available server resources such as memory or processor time. Virtualization implicitly includes the ability to assign resources according to any kind of rules. Service providers can for instance base resource allocation according to their pricing model and hence attract any kind of customer.
Moreover, virtualization allows SaaS providers to easily provide image-based virtual servers on the one hand, but makes it also possible to customize an application or operating system elaborately on the other hand. That is, service providers can for instance charge a small amount of money for a standardized virtual server with few processor power, and charge a higher price for adjustable systems with more CPU power.
On the application side, many services are designed to serve only one customer or organization. Virtualization makes it possible to run normal single tenant applications as if they were designed for more users without having to redesign them. It also can bring other benefits such as highly isolated systems or a better control over the service levels.
In fact, “the benefits are so significant, that [..] no SaaS provider will be able to be competitive without using virtualization.” (Parallels, 2007)
I'd very much like to hear what you think of this post. Feel free to leave a comment. I usually respond within a day or two, sometimes even faster. I will not share or publish your e-mail address anywhere.