« Protecting Your Private Information Online | | Upgrade to Windows7 »

Wednesday, August 12, 2009

Virtual Servers – Can They Save You Real Money?

If you have even a passing interest in IT then you have no doubt by now heard about virtual servers and virtualisation, which is a technique where a number of “virtual” computers all run on the one physical system. And although you might do this on your desktop, it is mainly taking hold in the back office where a number of servers are “virtualised” and run on one piece of server hardware.

Conceptually this isn’t a new idea – we have been doing this sort of thing since mainframe days. But virtualisation for Windows and Linux systems is now becoming big business for lots of reasons. The central argument around virtualisation is a cost reduction one. This comes through in a number of ways:

  • Reduction in server hardware prices – If one piece of server hardware can do the job of 10 servers you have saved yourself the cost 9 pieces of hardware.
  • Savings on Environmentals – One server, even if it is running a full tilt (computers use more electricity and produce more heat when busy) will use less energy than 10 servers, and will produce less heat (so less air conditioning etc).
  • Disaster Recovery Planning – Virtualisation offers some savings if you need a standby site for DR – it’s kind of complex so if you want more details ask us for an explanation.
  • There may also be savings in the systems management process as virtualisation (and the tools that come with it) make certain tasks more time effective for IT staff.

That’s the good news. If virtualisation is done correctly and appropriately it can save you money. If it is done where it isn’t appropriate, is poorly executed, or if you are just unlucky it can actually cost a lot more than it saves. Picking when it is appropriate is important, and it isn’t necessarily something the person trying to sell you virtualisation will tell you. This isn’t just us saying this – a number of big shops around town have either partially, or fully rolled back virtualisation projects dues to unexpected difficulties.

So, lets consider some of the things that influence whether or not virtualisation is a good fit.

No Free Lunch

Virtualisation tends to be a good solution for situations where your servers don’t do very much. So if you have 10 web servers that sit around largely idle then using virtualisation to collapse them onto one piece of “tin” (that’s a term we use for a physical server in case you hear it in conversation) might be a good solution.

But if you have 3 database servers that are flogged within an inch of their life then you are going to have to buy a much more powerful piece of hardware if you wanted to try and collapse them. This is going to affect your Return On Investment (ROI) position.

This can lead to a shop being exposed to the laws of diminishing returns in terms of buying hardware. To break that down simply a $5,000 server won’t be twice as fast as a $2,500 desktop (although it will probably be a good bit more reliable), and a $10,000 server won’t be twice as fast as the $5,000 server. So, if you have ten $5,000 servers, which are running at full tilt, you will probably have to spend a lot more than $50,000 to achieve equivalent performance in a single piece of hardware.

However, servers are not normally run that hard, and it is this fact that tends to make virtualisation economically viable. Normally you have ten $5,000 servers, each of which run at somewhere around 10-20% of capacity. You can replace those ten servers with one $20,000 server, which isn’t as powerful, but is powerful enough.

So, virtualisation is a better prospect for servers that are lightly loaded than for systems which are heavily loaded.

Understanding the Cost Model

Saving money on hardware sounds great, but is that really where most of your costs are? To get a sense on this it’s important to understand the Total Cost of Ownership (TCO) of a server over its lifetime.

TCO is made up of the following things grouped by scale of cost:

High:

  • Support (wages or fees for the people that make the server work make sure that backups work etc)
  • Downtime (wages of those people that can’t work when the server is not up)
  • High-end Business Specific Software.

Medium:

  • Business Specific Software (CRMs, etc).

Low:

  • Commodity Software (Windows etc)
  • Environmentals (Electricity, Air Conditioning, Rack Space).*
  • Hardware.*

We’ve put an “*” next to the costs that virtualisation will reduce. Notice anything? Now there are arguments that virtualisation can reduce support costs and downtime. There are also arguments that say it can increase both of these. Which is true? It depends on context, and to some extent on whether or not the person appraising it is trying to sell virtualisation or not.

In the worst case we have seen organsations switch substantially to virtualisation, when they paid their outsourcer a fixed fee per server per month for support. The outsourcer didn’t reduce their server support charges significantly (they argued that supporting a virtualised server was no cheaper), and the outsourcer pocketed substantial money from the “move to virtualisation” project. Worse – the virtualised servers performed worse than the previous hardware based servers. In some circumstances the customer actually needed more virtual servers than they had physical ones previously. The result of this was that the support charges of their virtualised environment was more than the support charges on the real “tin” they had before, and the hardware savings were not enough to make up for the difference.

Complexity

Virtualised environments tend to be more complex than ones with normal servers, for a number of reasons.

  1. Often more complex, higher end hardware is required. Dedicate Storage Area Networks (SAN) are an obvious example here
  2. Server management now has another dimension to it – which “real” server do the virtual servers exist on – this might seem trivial but we have seen it cause problems
  3. Another skill set is required to support the virtualisation product.

These are the foreseeable complexity impacts from virtualisation. However, the unforseen ones are in many ways worse.

Virtualisation tends to reduce the tolerances within your environments. Some examples include high dependency on having the exact firmware revisions and drivers for particular hardware, never being able to extract the IO performance you should get, network latency blowing out when there is seemingly no explanation etc. Now, you don’t need to know what these mean particularly to assist your decision making, but you need to be aware that some of simplification that virtualisation may give you will be traded off against some fairly high end esoteric problems which will require time and effort to resolve, and may in some extreme cases not have economically viable fixes.

Mid-Range Explosion

There is another potential drawback to virtualisation with respect to costs, and not one that necessarily is immediately apparent. It starts with a phrase during the sales presentation something along the lines of “so when you need a new server you just click, drag, click, and there is a new server, and it cost you next to nothing”.

Now that seems well and good, but as we have already discussed most of the cost of owning a server comes in the support phase. So saving you some deployment costs is great, saving you some hardware costs is great, but if it leads to an uncontrolled proliferation of servers (and we’ve seen this too) the “ease” with which new servers can be deployed actually starts to hurt a business.

This is a bit of “with great power comes great responsibility” type thing. If an organisation has a mature outlook, and doesn’t create servers willy nilly, still exercises effective change control, etc etc then this ability to commission servers quickly can be a great boon. If, however, they don’t exercise effective control, servers are run up on a whim, there is no disciplined management of systems then virtualisation can become an enabler to many poor practices, and before the organisation knows it the farm of 20 servers that it had is now 50 and increasing.

So...

We are not trying to say don’t use virtualisation. Virtualisation can be a fantastic thing that does give real savings. But it is very easy to be seduced by some of the amazing features that virtualisation offer, without considering the downsides, or more importantly exactly how virtualisation is going to improve the efficiency of your organisation.

Also, at its core, virtualisation is about saving money on IT, not saving money with IT. That’s fine – in hard times everyone needs to tighten their belts, but it does perhaps reflect an industry looking inwards at its own problems and coming up with a neat gadget to suit its own needs, rather than outwards figuring out how to make other parts of the business more efficient.

So make sure you take some advice, independent of the virtualisation sales people, about where it is a good fit for your organisation.

Posted by Clem at 3:59 PM
Edited on: Thursday, August 13, 2009 3:19 PM
Categories: Business, Government, IT Management, Strategy and Analysis