Virtual server: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Ryan Weicker
imported>Ryan Weicker
Line 150: Line 150:
# Software - In addition to licensing concerns with virtual software, there is the fact that not all software is able to be virtualized for various technical reasons. Internet Explorer, for instance, is extremely difficult to virtualize. As enterprises begin to use more and more virtual servers, balancing applications that cannot be run virtually and those that cannot is a challenge.
# Software - In addition to licensing concerns with virtual software, there is the fact that not all software is able to be virtualized for various technical reasons. Internet Explorer, for instance, is extremely difficult to virtualize. As enterprises begin to use more and more virtual servers, balancing applications that cannot be run virtually and those that cannot is a challenge.
# IT Technicians - The change to virtual servers requires the IT staff that maintains them to be much more skilled and knowledgeable. Not only is that individual responsible for the hardware that he or she was responsible for before, they must also have the necessary skill set to be able to service a wider array of software that might be found on a virtual machine. For example on host server might be running instances of Windows and Linux. In the past, that would require at least two servers each with potentially their own technician. As it is not feasible to hire a person for each instance of a different operating system, the enterprise must hire more skilled IT staff.
# IT Technicians - The change to virtual servers requires the IT staff that maintains them to be much more skilled and knowledgeable. Not only is that individual responsible for the hardware that he or she was responsible for before, they must also have the necessary skill set to be able to service a wider array of software that might be found on a virtual machine. For example on host server might be running instances of Windows and Linux. In the past, that would require at least two servers each with potentially their own technician. As it is not feasible to hire a person for each instance of a different operating system, the enterprise must hire more skilled IT staff.
Although these are all difficult challenges to consider, the analysis of the market conditions suggests that these aren't conditions that act as a barrier to entry.


==In Popular Culture==
==In Popular Culture==
Just kidding.
Just kidding.

Revision as of 16:09, 7 August 2010

All unapproved Citizendium articles may contain errors of fact, bias, grammar etc. A version of an article is unapproved unless it is marked as citable with a dedicated green template at the top of the page, as in this version of the 'Biology' article. Citable articles are intended to be of reasonably high quality. The participants in the Citizendium project make no representations about the reliability of Citizendium articles or, generally, their suitability for any purpose.

Nuvola apps kbounce green.png
Nuvola apps kbounce green.png
This article is currently being developed as part of an Eduzendium student project. The course homepage can be found at CZ:Special_Topics_2010.
To provide students with experience in collaboration, you are warmly invited to join in here, or to leave comments on the discussion page. The anticipated date of course completion is 13 August 2010. One month after that date at the latest, this notice shall be removed.
Besides, many other Citizendium articles welcome your collaboration!


This article is a stub and thus not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

A virtual server is a virtual machine (VM) that is running on top of a physical server. The physical server containing the virtual server is commonly called the host whereas each virtual server contained in the host is referred to as a guest. A virtual server is created through hardware virtualization.

Virtual servers are isolated in their own virtual environment allowing multiple instances to be hosted simultaneously on a single server. Guests on the server can run different applications or tasks, on different operating systems, independently from one another. From example, one virtual server can run as a chat server, another as an FTP server, and another as database server, all of which can run concurrently on a single physical machine. To ensure independence and consistency, the physical server utilizes a hypervisor whose role is to monitor the states of each guest. To server users, this appears as if each virtual server is a unique physical device thus maximizing the resources and processing-power of a single physical server. Downtime during server maintenance is also minimized since virtual servers can easily be transferred or migrated from one physical server to another given that both servers are running on the same processor manufacturers.

History

Technology

Virtual servers are computers which run in a virtualized environment knowingly or unknowingly. Virtualized environment is created by abstracting hardware level from the operating systems (OS). This level of abstraction occurs by implementing a thin layer of software between the physical hardware of the computers and the operating system on top of it.

Operating systems that are running in a virtualized environment is commonly called Guest OSs and the OS which provides the bases of virtualized environment is called an Host OS.

Hypervisor - Type 1
Hypervisor - Type 2

Hypervisor

Hypervisor also known as Virtual Machine Monitor (VMM) is the software which provides the thin layer of abstracted hardware to the guest operating systems. In most circumstances, guest OSs communicates with the hypervisor layer which translates guest OSs instructions to hardware instructions which operates the physical server.

There are two types of hypervisors.

  • Type 1 - Bare metal: Hypervisors which runs directly on top of the hardware. Type 1 hypervisors usually built on top of micro-kernel which controls both the hardware and the guest OSs. Examples are Xen Hypervisor, VMware GSX, Microsoft Hyper-V.
  • Type 2 - Hosted: Hypervisors running on top of a host OS. Host OS controls the hardware and the hypervisor layer sits on top of the hosted OS which guest OSs running as processes within the host OS. Examples are Virtual PC, VMware Workstation, VirtualBox, Parallels Desktop for Mac.


Virtualization Categories

There are currently three virtualization techniques, each with their advantages and disadvantages.

Full virtualization

Full virtualization is an environment where the hypervisor emulates all underlying hardware specification. This includes CPU management, memory management, I/O processes and peripherals. In x86 processor environment, full virtualization is accomplished by using software emulation called binary translation. Binary translation involves the hypervisor receives the CPU instructions from the guest OS then forwards it to the hardware CPU. Currently in the x86 domain, VMware champions in the way of binary translation and offers multiple platforms for full virtualization environments.

Paravirtualization

Paravirtualization involves modifying the OS kernel of the guest OSs to make the guset OS "hypervisor aware". This technique allows guest OSs to make non-virtualizable instructions with special hypercall instructions which communications directly with the virtualization layer hypervisor. Paravirtualization has been around since the inception of virtual servers, in the current x86 domain, Xen Hypervisor, by open source XenSource (now own by Citrix) is a dominant player.

Hardware Assisted

Hardware assisted virtualization revolves around the concept of having a implicit processor and other hardware assistance in performing virtualization. In case of x86 platforms, Intel and AMD have both released hardware virtualization in 2005. Intel's version is called Intel VT, AMD with AMD-V. Both technologies employee special set of instructions on the processor which the hypervisors can take advantage of to offload some costly processor instructions. At this current time, hardware virtualization is still early in maturity and does not outperform software only variations yet. The future does seem bright for hardware virtualization with Intel and AMD both committed in this technology and continue to improve the ways hardware can assist in performing virtualization.

Advantages Disadvantages
Full virtualization
  • Pure software implementation, the guest OS does not need to be "hypervisor" aware.
  • Guest OS does not have to be modified in order by be supported.
  • Any x86 architecture OSs, including Windows 2000, XP, Linux can be virtualized.
  • Greater portability due to identical underlying "hardware"
  • Can be easily migrated between physical machines.
  • Certain CPU instructions are difficult to process and slower in software only mode.
  • Greater memory requirements
Paravirtualization
  • Fast CPU instructions
  • Not all hardware must be emulated
  • Performance gain can be tuned by further optimzing the guest OS.
  • Guest OS must be modified to be "hypervisor aware".
  • Modification is required at the kernel and other "deep" parts of the OS.
  • Not possible to support unmodifiable OSs such as Windows 2000, XP.
  • Due to greater ties wit the underlying hardware, the guest OSs are not as portable.
  • Underlying hardware specifications are not as broad.
Hardware Assisted
  • Modifications to the guest OSs are not necessary.
  • Eliminate unnecessary transitions to VMM
  • Reduce memory requirements
  • Overall greater performance and compatibility
  • Current generation of hardware assisted hypervisors are not faster than software only approach.
  • Underlying hardware must support the hardware virtualization when migrating between machines.
  • Intel-VT and AMD-V are not directly compatible with each other

Intel-VT

Intel's version of hardware virtualization known as Intel-VT comprises of three separate modules. Processor component is called Intel VT-x for Xeon processors and VT-i for Itanium processors. Intel also has a virtualization hardware supported in their chipset called VT-d. VT-d handles the I/Os from the OSs and enables the hypervisors to offload I/O tasks to the chipset allowing greater performances. Third module is called VT-c which handles the network traffic. With VT-c enabled network card, the chipset in the network card can handle the network traffic load between virtualized machines.

AMD-V

AMD with its own hardware virtualization is packaged under a product name AMD-V. AMD-V enables similar advantages with Intel's Intel-VT, providing separate additional virtualization instructions that can be used by the hypervisors to offload costly instructions, improved memory management allowing the hardware to perform the address look up rather than having it done within the software and improving I/O throughput by offloading I/O instructions to the hardware as well.

Typical x86 architecture in privilege mode
x86 architecture in virtualized environment

x86 virtualization challenges

In an x86 operating system environment, the OSs are designed to run directly on top of the hardware and the user applications interfaces with the hardware through the OS. In the model of trust computing base this hierarchy is normally represented with four levels of privilege known as TCB Rings. With the four ring levels: 0, 1, 2, 3, base OS is expected to run in ring 0 where it has the highest privilege and in direct communication with the hardware. User applications typically run in Ring 3 where it's least privileged. In the model of virtualization, because the hypervisor simulates the hardware and sits below the base OS, the hypervisor takes the place of ring 0 thus pushing the guest OS system to higher level. This posses great challenges to the OSs expecting to run in ring 0 however realizing it's located in the higher level. VMware was first to overcome this difficulty by using a technique binary translation explained above.

Memory Virtualization

When creating a virtualized environment, one must additional to CPU virtualization, memory management. In the cases of full virtualization where the guest OSs are not "hypervisor aware", it expects the memory space to start from 0x0000, however because the hypervisor handles the transition between the OS and the hardware, the guest OS usually will not have access to the memory it desires. To handle multiple virtual machines within a single physical memory space, hypervisors use what's known as shadow page table which contains the direct translation between virtual machine's memory table to the physical memory table. This is the reason why you cannot allocate memory to the virtual machine greater that of the physical memory space. While employing shadow page table allows seamless translation between the virtual memory space and the physical memory space, the translation takes toll on the processor and creates a over head. Second generation of hardware virtualization techniques help facilitate this process by offloading it to the hardware.

Hardware Assisted
By offloading memory address translation to the hardware, hardware assisted hypervisors can focus on the translations of the instruction codes thus increase in performance. In the case of Intel-VT, Intel calls this technique Extended Page Table (EPT). EPT allows direct translation of the guest OS's page tables to EPT bypassing the necessary translation done by the hypervisor.

Future

Continual development pf virtualization from software and hardware companies will enable more efficient, better utilized faster virtual servers. Commitments from hardware companies such as Intel, AMD and backed by software companies such as Microsoft, VMware, Citrix, Oracle will further drive the innovations and greater deployment within the corporate environments.

Hosting Service Providers

One area of today's computing sector which leverages heavily on virtualization is hosting service providers. Hosting service providers provide abilities for the end users to create and upload typically web applications in their data center. Typical hosting service provider employes hundreds to thousands of servers located in an environmentally controlled data center and sell portions of the servers to the customers. In the pre-virtualization era, a single server was setup for a single customer, enabling him/her to login and upload files to the server to serve. This model transitioned to setting up separate web directories for each customers and utilize a single server for multiple customers. However this posed a problem where a custom wants to install their own custom applications on the server or needing to run a web service application different from what's currently installed. Because of this requirement, a virtual private servers were deployed in hosting service sector, enabling each customers to run their own full server, install their own programs and not having to worry about shared tenets and default installations. Most large hosting service providers offers virtual private machines as one of their packages and enables the end users to either install Linux or Windows to run their product.

Cloud Computing

Cloud computing is recent phenomenon a coined term which addition to virtual private server, allows the end user to shrink or expand the rouces dpending of the work load. In the typical terms of segmenting a single physical server into multiple virtual servers, cloud computing allows the reverse by combining multiple virtual server's resources into a single logical server. This is truly an emerging area with Amazon and Google spearheading the effort of utilizing their well established data warehouses to offer the customers the security and the reliabilities of their data centers. Unlike the traditional web hosting model where one pays monthly fees to host the information, in cloud computing model, the fee are usually associated by hourly. One would only pay per computing cycle used, much like utilities from the grid.

Economics

One of the main driving forces behind the push for virtualization in industry is the cost saving potential that can occur from multiple servers on one machine as opposed to needing a separate server for each instance of an operating system. Not only does one save on the physical hardware costs involved of purchasing multiple servers, the cost of maintaining the hardware decreases as fewer servers are needed that would otherwise require extra physical maintance, climate control, and space. Fewer machines also equates to lower energy costs.

Virtual Server Market Overview

There is a lot of potential for growth in the virtual server market. In a recent survey, two-thirds of the companies ran less than half of their applications on virtual servers and over half of companies have even begun to virtualize their desktop. VMware estimates that the number of enterprises beginning to adopt their x86 virtualization has incread by 25% each year. (1) These figures alone show that not only is there potential for growth in the market, there is desire for enterprises to begin using these virtual servers. Financial estimates put this market's value at over $19 billion dollars. (3)

Why Virtual?

If there is all this growth in this industry, what's the reason behind it? In a word, money. In moving to virtual servers and utilizing virtual servers, Business Insights reports that there are several places that costs can be cut:

  • Physical machine costs - For an enterprise running 250 dual-core servers could save over three million dollars over a three year period. Additionally, each enterprise could save close to $125,000 per 1,000 PCs per year in power saving costs by moving to a server-hosted desktop virtualization solution. (3)
  • Power costs - Although the move to virtual servers often requires the purchase of new hardware, over the long term IBM research quotes that the server space could be reduced by up to 90%. (3) Fewer servers equates to less money being spent on power and cooling.
  • IT department costs - Beyond the physical costs of purchasing and powering physical servers, the largest cost associated in an IT department is labor. Although running virtual servers would require a more specialized IT crew, it will require a smaller staff which is critical for companies that are looking to become leaner as 70% of costs are spent on labor.
  • Line of Business Users - Since the virtual server farm is smaller and easier to maintain, then the availability of services is more likely to be guaranteed and support and can be provided quicker, the productivity of these LOB users will be increased.

Corporate Factors

The current corporate market for creating virtual servers is volatile and involves a few main players. (1)

Major Players

  • VMware - The current leader in the virtual server market. In 2007 VMware represented over half of the market for x86 servers and over 80% of large corporate enterprises. Their main products are:
    • VMware Infrastrucre - Used to create and manage virtual server environments
    • VMware virtual Center - Used for monitoring
    • VMware Lab Manager - Used to create test environments
    • VMware Server - Server partitioner
    • VMware Converter - Used to convert physical servers to virtual servers
  • Microsoft - Microsoft first tried to enter the virtual server market in 2002 but was relatively unsuccessful because purchasers were uneasy about the alternate OS on Microsoft's offering. In 2006 Microsoft launched Virtual Server Manager touting that it could do everything VMware's virtual servers could. Though a bit of a reach, they did release a virtual server for free that would also support a Linux based OS which worked to calm the uneasiness felt in 2002. It's main product is:
    • Microsoft Windows Server Hyper-V - Not quite as robust as VMware, but it is a direct challenge.
  • Citrix / XenSource - Citrix leads the desktop virtualization market with 19% of that particular market. It also purchased XenSource in 2007 and is focused on virtualization processes using entirely open source coding. Citrix works closely with Microsoft in developing virtual applications. Its main products are:
    • XenExpress - Virtualization starter package
    • XenServer - Virtualization platform for Windows and Linux servers
    • XenEnterprise - Enterprise-wide virtual management tool

These three companies make up the vast majority of the virtual server market and have such a lead that the market landscape should not drastically change in the next several years.

Challenges to Growth

There are several challenges this industry faces if it is to continue its fast growth (2):

  1. Security - According to one report, 60% of virtual servers are less secure then the physical machines they replaced. With advances in technologies, that number is sure to decline and is estimated that it should drop to 30%. However, for many enterprises with especially sensitive data and processes it needs to protect, that level of security may be a limiting factor to switching to virtual servers despite the cost advantages to doing so.
  2. Licensing - This is a challenging situation where the software vendor is still working under the physical server model when the hardware has evolved to virtual servers. In the physical server model an enterprise would need to purchase one license for each machine that needed the piece of software. However in the virtual server world, each machine might have dozens of instances of the same piece of software running on it requiring dozens of licenses to be purchased. This immediately eats away at the money saved from using fewer physical servers.
    However it appears software manufactures are starting to change their pricing structure. Microsoft, for example, will allow that its dual core machines will only need one license for their products and that certain customers that have purchased specific versions of the Windows operating system will be able to run up to four copies of that OS on the desktop. However, for large scale enterprises this is a hefty cost that makes the cost/benefit analysis for upgrading to virtual servers difficult to run.
  3. Software - In addition to licensing concerns with virtual software, there is the fact that not all software is able to be virtualized for various technical reasons. Internet Explorer, for instance, is extremely difficult to virtualize. As enterprises begin to use more and more virtual servers, balancing applications that cannot be run virtually and those that cannot is a challenge.
  4. IT Technicians - The change to virtual servers requires the IT staff that maintains them to be much more skilled and knowledgeable. Not only is that individual responsible for the hardware that he or she was responsible for before, they must also have the necessary skill set to be able to service a wider array of software that might be found on a virtual machine. For example on host server might be running instances of Windows and Linux. In the past, that would require at least two servers each with potentially their own technician. As it is not feasible to hire a person for each instance of a different operating system, the enterprise must hire more skilled IT staff.

Although these are all difficult challenges to consider, the analysis of the market conditions suggests that these aren't conditions that act as a barrier to entry.

In Popular Culture

Just kidding.