Codify

Codify's Blog

This is our 11th year (!) of working at Micorosft Tech Ed in some capacity ... and our 6th as lead engineers on the event. This year we've set up http://www.techedbackstage.net/ in conjunction with Jorke Odolphi at Microsoft and the guys at Jomablue.

We'll be posting plenty of technical information in the lead up to the event and already have about a week of programmed content in the pipeline - so check it out!

Link: http://www.techedbackstage.net/
Posted: 13/07/2009 9:46:44 AM by David Connors | with 0 comments
Our RSS URLs are changing.

We've done a serious amount of rejigging to our web site:
  • A new look and feel with our new logo.
  • Improved RSS feeds including separate feed for news vs blog content
  • Much improved navigation.
As a result of these changes, the RSS URLs are changing. Please delete our blog from your news feed and subscribe by typing www.codify.com into your RSS reader. Your reader will auto-detect the feeds available and let you choose the one most appropriate for you.
Posted: 2/04/2009 2:40:12 PM by David Connors | with 0 comments
Codify has recently completed several virtualisation projects for customers. This perspectives article explores the tangible bottom line benefits of virtualisation of application loads that were previously deployed on native hardware.

Virtualisation Defined

There are several variant approaches to virtualisation:

Binary application virtualisation

This approach is relatively new and used by products such as Microsoft Application Virtualization (formerly SoftGrid by Softricity). In this scenario an application is run within a lightweight binary runtime on the host operating system. The binary runtime redirects API calls that make state changes to the host operating system such as registry reads and write, file system reads and writes, and so forth.

Virtualising an application by design

Virtualisation benefits are obtained by supporting multiple concurrent instances from a single data tier or binary code base. This approach is utilised by many hosted application service providers. In this case the application is designed to support multiple concurrent users or organisations in a branded and isolated fashion, while the underlying infrastructure is a single data tier and code base. Codify has used this approach extensively in the past when writing applications for customers.

Machine emulation

This is far and away the approach that is garnering the most industry interest at the moment. In this type of virtualisation an entire computing hardware platform is emulated through software or a combination of hardware and software. This approach to virtualisation has been pioneered on mainframes and also in the emulation of various old computers and gaming consoles that are no longer in production. Only recently, however, has this technology been applied to running multiple Intel x86 or x64 virtual machines on commodity Intel hardware. There are several server-based products on the market usable for these virtualisation workloads including: Microsoft Virtual Server 2005R2, VMware ESX Server, VMware Virtual Server. Microsoft’s upcoming Windows Server 2008 will embed virtualisation technology into the operating system.

Rationale for Virtualisation

According to Moore’s Law (http://www.intel.com/technology/mooreslaw/) computing power doubles every 18 months. While there are many computing applications with an insatiable appetite for computational resources (gaming, modern desktop applications and high throughput server applications, to name a few), there are many applications whose computational demands have not increased at the same rate as computing hardware. It is not uncommon to see server utilisation figures of less than 10 percent per physical server for these types of applications. Light weight web serving, DNS, VPN solutions, and low throughput databases are all examples of computing workloads that do not place inordinate demands on modern server hardware.
Virtualisation allows much more efficient utilisation of underlying hardware by combining several of these workloads on one server, while still allowing the workloads to be isolated from one another as if they were running on physically separate computers. This is particularly important for application sociability.Typical CPU utilisation on a dedicated Active Directory server.
As a case in point, one of Codify’s ActiveDirectory servers would normally require a dedicated server, however as can be seen in the utilisation graph (the black line is the CPU utilisation), the actual server requirements for ActiveDirectory are quite small. 
The implication of this is obvious. As multiple workloads are combined on to one physical server, more efficient use is made of spare processing, memory, and long term storage resources.

Environmental impact

Organisations are becoming more aware of their impact on the environment and, in Australia at least, it appears likely that binding greenhouse gas emission targets and possibly carbon emission taxes will be in place in the near future. Virtualisation has important environmental benefits for organisations seeking to become ‘carbon neutral’, specifically:
  • purchasing less hardware uses less resources;
  • consolidating loads on one machine uses less power;
  • less power equals less heat load movement. The power consumed in the air-conditioning requirements of one server is roughly equivalent to the power consumed by that server.

Bottom line impact

Aside from that, significant financial savings may be had when implementing virtualisation. To illustrate this point, consider the scenario where an organisation has:
  • 10 nominal workloads that may be consolidated, defined as a set of tasks that utilise 10% or less of the target hardware platform.
  • has the option of purchasing 10 identical servers to handle this workload or might consider consolidating this workload onto one machine through virtualisation.
For the purpose of this comparison consider the Dell PowerEdge 2950 with 2 x Xeon L5310 processors, 4 x 4 gigabytes of fully buffered DRAM running at 667 Mhz, 6 x SAS 3.5” drives and redundant power supplies. This configuration retails for AUD$19200 inclusive of GST. Power consumption for this configuration is:
  • Idle: 279.00 watts, 1.34 amps
  • SPEC Benchmark workload: 366.10 watts, 1.76 amps
  • Scientific workload: 417.40 watts, 2.01 amps
These servers are the current standard that Codify purchases for customer projects.
In calculating the power consumption the following assumptions have been made:
  • 10 servers running 10 nominal loads would consume power roughly equivalent to 10 2950s at idle power consumption.
  • 10 virtualised servers running 10 nominal loads on one 2950 would consume an amount of power that is directly proportional to the difference between idle and scientific loads based on the number of virtual machines. In other words, wattage consumed = difference between scientific and idle load * number of virtual servers + idle load.
  • Financial calculations are based on Origin Energy’s Tariff 20 of AUD$0.15554 per kWh.
The figures are quite striking:

Comparison of kWh cost for 10 idle Dell 2950 servers versus one heavily loaded server.

10 idle servers use an incredible seven times more power than one server under a scientific load.  
Obviously not all workloads can benefit from this sort of consolidation as the loads might not be considered nominal or the loads need to be separated for redundancy purposes. In Codify’s experience, however, such consolidation gains are possible more often than not. Codify has managed a 12:1 consolidation ratio on its own infrastructure including AD controllers, test servers, and indeed the site which you are reading now. Even with this level of consolidation, there is plenty of host processing time spare as well as 8 gigabytes of RAM left unused. Disk space is a non-issue with multi-terabyte arrays now commonplace.
What is even more striking about this scenario is that the cost calculations do not include:
  • the power requirements to remove the heat loading (this would double the cost differences)
  • the cost of upkeep and maintenance of significantly increased air-conditioning plant and equipment for the physical servers
  • the cost of additional power circuits – 10 idle 2950s consume 14 amps however one would need to allow for over 20 amps of capacity for 10 of these servers. Data centres will typically only provide customers with 10-15amps of power per 42RU rack without incurring additional fees and charges. Additionally, data centres generally charge for a 10 amp circuit at the rate of the maximum possible draw from that circuit, not actual power used. Thus if you need 30 amps to power a 21 amp draw, you will be paying for 30 amps.
If these items were factored into the virtualised versus non-virtualised comparison, the difference would be even more stark.
Finally, and most obviously, 10 $19200 servers costs 10 times more than one.

Disaster Recovery

Anyone with experience in managing high availability applications with critical business data will tell you that disaster recovery is one of their greatest concerns. Typically, a disaster recovery plan should allow for the most catastrophic of failures such as those where the server is completely replaced with all data online irrecoverably lost. In these cases, a “bare metal restore” to new hardware from bootable tape or similar is the only option.  
Such disaster recovery plans are incredibly time consuming to implement and require constant testing to ensure that all elements of the plan work as desired. Additionally, an organisation must allow for the possibility that replacement hardware might not be exactly the same as failed hardware. If replacement hardware is not identical, significant problems might be encountered during restore due to device driver incompatibility between the old and new hardware.
Virtualisation erases nearly all of these concerns. The virtualised machine images are built with reference to an emulated hardware architecture that does not and cannot change over time. The entire virtual machine is a small handful of files being (in the case of Microsoft Virtual Server 2005 R2), the virtual machine configuration file (a few kilobytes), the virtual hard disk or disks (varies depending on allocated space), and possibly a file containing the saved state of a virtual machine’s memory.
Backup of these machines requires nothing more than copying these files to tape. In Codify’s case, all virtual machines are shipped offsite each night to a remote data centre via a dedicated 100 megabit fibre link.
Restoration of a virtual machine requires restoring this handful of files, some minor configuration and booting. All of the difficult application-specific configuration effort is contained within the easily managed virtual disks with the host operating system being an installation of Windows with Virtual Server R2. It isn’t even worth backing up the host operating system because an unattended install of Windows is faster and less troublesome than a tape restore – and the host operating system is largely expendable.
Care should always be take to ensure that the production hardware has a maintenance SLA that meets customer availability requirements. For internal and non-critical workloads a 24x7 2 hour response will ensure that hardware failures are quickly rectified. For critical online applications Codify specifies dual servers with the virtual machines shipped to the standby server periodically.
Codify deploys virtual machines even if the target hardware is only to have one application load on it in order to obtain the disaster recovery benefits of virtualisation.

Testing and Preproduction

Aside from production server benefits, virtualisation allows:
  • difficult upgrades or migrations can be attempted, tested, and rolled back to a previous virtual machine state if necessary.
  • production virtual machines can be shipped back to test or even a developer’s workstation to diagnose problems with a production environment, without actually using the production environment.
  • migration of new releases from test to production on a whole-machine basis.

Licensing Considerations

One final note to consider when implementing a virtualisation strategy for your company is that of software licensing. In some cases, software vendors consider an emulated machine to be the same as a physical machine and so will charge you accordingly. In other cases, vendors will prohibit running applications in a virtualised environment by licensing constraints (as is the case with Windows Vista), and in still yet other cases they will implement countermeasures to ensure that certain workloads cannot be run in a virtual machine (as is the case with the Key Management Service that Windows Vista uses for activation in volume license deployments).

Conclusion

This article only touches on the benefits of virtualisation and does so from a Microsoft-platform perspective. Having said that, the benefits are clear: almost every aspect of your application lifecycle management and data centre management can be greatly simplified with virtualisation.

Links


Posted: 31/03/2009 9:34:01 AM by David Connors | with 0 comments
Subscribe! Subscribe!
Post archive