Set the base hardware of your no downtime infrastructure:
This can be achieved in a number of ways but essentially comes down to one key ingredient – being able to create a fluid pool of hardware resources that can easily accessed and switched on and off.
There are three ways to achieve this:
Of the three ways to achieve this, option’s one and three share one thing in common – the idea of virtualization. In the case of option one, typically the virtualization is part of the hardware solution. We’ll explore option three, which allows for a certain amount of sweating of different hardware assets within a business.
A key ingredient of cloud computing is the ability to create new instances of operating systems quickly and cost effectively. Virtualization allows existing hardware assets to be sweated – as new operating systems can be created on the fly without concern for the underlying configuration and setup. Usually, if you have different servers with different configurations – then each of these need to be managed independently.
Virtualization allows infrastructure components to be sucked into a common pool of raw processing power, through which operating systems can be duplicated, switched on and off and moved. IT staff are spared the agony of needing to find operating system different drivers and proprietary configurations for each server – virtualization takes care of that for the operating system.
Tap into a pool of hardware by virtualizing them
The three major vendors offering virtualization are:
Each of these vendors has a comprehensive range of virtualization solutions, along with vibrant partner communities suporting them through products and services.
Virtualization vendors are able to offer resiliency in a system by monitoring the underlying pool of resources and detecting and managing failures. Near real-time failover can be achieved in these pools of resources, where a failed hard drive, server or operating system can be corrected by moving the utilized resources to working resources. This would minimize any disruptions caused by hardware failure.
If for example server A crashes (e.g. a motherboard failure), then the virtualization layer of software will detect this and move the appliance and operating systems that use that server to another server. This can be automated and happen in real-time where shared data storage is used.
VMWare example of virtualization failover
Virtualization capabilities have been provided by IT vendors in many different ways for a long time. Many organisations use a virtual data storage capability – known as a Storage Area Network, while IBM mainframes have offered virtualization as way to scale since the 1960’s (http://en.wikipedia.org/wiki/Timeline_of_virtualization_development). Virtualization is now a mature and established capability incorporated into many different systems at many different levels.
Hardware virtualization provides an immensely powerful capability for business to maximize the usage of existing infrastructure while reducing operating costs. There are however limits to what virtualization can handle. In particular, virtualization does not handle situations where failures occur at an application level, so for example a financial applications database gets corrupted.
In the next section, we’ll review how a business could use open source software to handle application level failures.
Some terms used