|
|
|
Virtual Server Portability and Resource Efficiency.Last month we covered the basics of machine virtualisation and mentioned portability as a major benefit. This month we will look specifically at portability and why it is such a key concept while still keeping as non-technical as possible. What exactly does portability mean? Why is it such a key concept? Portability in the context of Virtual Machines refers to the ability to move an application or service onto a different machine. This sounds simple but with physical machines there are several pitfalls. The following are some of the main obstacles to portability of applications and services in a non virtual environment.
Although these issues can often be addressed and worked around the issues often become ongoing because of the need to update for security or just to keep applications up to date. Change control needs to consider the co-dependencies of one application on another on the same hardware and how upgrading one may break some functionality of another. Workarounds themselves can can be human resource intensive, for example a workaround may require a patch or fix on each client machine or require compromises on security. The pitfalls listed above are not exhaustive as the aim of this paper is not to discuss the problems moving applications and services to different physical machines but to discuss the advantages of being able to move them quickly and easily. Because of the interconnected nature of these services it is common practice to designate a server per application/service set such as “Web Server”, “Intranet Server” etc. however with physical machines these application/server entities become locked into the physical hardware.
When we can move an application or service quickly and easily it allows us to view that application or service in a completely different way. The dependence of that application/service or group and co-dependencies of applications/services to a physical machine is broken. Instead of viewing the services and applications as something tied to a machine with finite resources the applications/services can instead be thought of functionally in terms of what they provide and what resources they require. One buzzword used in for this in the virtual world is “workload”. A workload is the services/applications and underlying OS and libraries that are required to provide a set of services. A simple example is a “web server workload” which in addition to the web server software itself such as Apache, will often contain scripting such as PHP or PERL and many other library type functions. As we previously discussed, it is common practice to designate a server per “workload” however although this is efficient in terms of manpower and avoiding conflicts it is not efficient in terms of server resources. Many Server workloads such as a DNS server or firewall require very low physical resources whereas others such as application servers and database servers can be very demanding. Capacity Planning is the management of these resources and involves provisioning sufficient resources for the workload whilst building in growth of the system. The flip side to provisioning and capacity planning is depreciation. These physical server resources are both expensive and quickly depreciate yet because of the need for spare capacity may not be fully utilised for much of the life of the server. The ability to simply move a workload from one physical machine to another is not in most cases a means in itself but an enabler for other advantages. Server Virtualisation and Portability allows far greater flexibility in Capacity Planning at the same time as offsetting depreciation. At a basic level looking only at a single physical server, it allows resources to be shared and allocated on a more adhoc basis on a single physical machine. Within the physical, machine resources such as memory and CPU power are shared and can be allocated as needed to the workloads which require them. An simple example could be a database consolidation process which runs nightly. The workload for the database application might co-exist happily with other workloads on a single physical server but require more resources on a nightly consolidation. This however is just using the resources of a single physical machine more efficiently. The benefits increase as we can move workloads across different physical machines and use the resources with the workloads that require them. At the bleeding edge of “virtual workload management” several companies provide “hot” workload transfers, (VMWare Vmotion, PlateSpin Power Convert ) that is a workload such as a “web server” can be migrated from one physical machine to another without ever shutting down. Even without this degree of “hot” portability however, virtualisation allows for far greater flexibility in Capacity Planning.
Although rapid provisioning is a contributer to Capacity Planning it is also a Overall these benefits need to be considered together for instance the ability to move one or more servers to a different physical host can be used to free up resources for a virtual workload. Because the virtual workloads are moved so easily it is possible for instance to dedicate more resources to a workload at particular times such as an end-of-year financial reporting thus a workload does not need to be specified and provisioned for peak times if other resources can be freed during this time or a backup server can be used. |