Hyperconverged Infrastructure (HCI)

The traditional data center, or server rack, consists of a combination of: compute servers, storage appliances, and networking equipment. Each piece of the stack is its own entity, or known as “silos”, and usually require a separate team to maintain the stack. So what happens when one of these entities fail? It usually involves a data center “fire” and tons of downtime. So how can we consolidate these silos and create a resilient and highly available data center? Hyperconverged infrastructure may be a potential solution we are looking for! (depending on your requirements, that is…)

Hyperconverged infrastructures combine compute nodes, storage, and networking into a bundled solution that create highly available and scalable clusters. This allows for elasticity, easy, and rapid growth of equipment. The servers usually contain a hybrid setup of flash (SSD) caching disks, and HDDs, although recently providing all flash/SSD configurations. Management traffic and data traffic is intelligently routed amongst the switch to avoid performance hits and bottlenecks within the cluster.

The typical setup consists of:

  • Commodity servers
  • Combination of disks: SSD and HDD
  • Networking switches
  • Hypervisor: VMware, Hyper-V, OpenStack, KVM, etc.
  • VSA: Virtual Storage Appliance

The VSA is usually a controller VM/server that resides on one of the nodes in the cluster, and manages the local disks. Then, the VSA talks to the other VSA’s within the cluster that acts like a “software RAID” controller. This creates a storage pool or datastore that will be seen and shared across the cluster. This software layer is usually proprietary from company to company, and which differentiates characteristics such as deduplication and compression of data. In some cases, it can be adjusted based on your needs.

The basis of hyperconvergence, is that it is driven by software defined storage. Not only is the storage managed by software, the whole package includes a management interface that allows you to configure and maintain the whole cluster. Through this management interface, deployment of a 3-node cluster can be born in less than an hour. One of the cool features I have seen through the management interface, is the ability to detect and point out the exact location of a failed disk (ex. Node[x], slot[y]).  

The joy of hyperconverged infrastructure comes from the ability to scale the cluster; you can easily attach more nodes to the cluster to increase storage and computing power. What is also nice, is that vendors are willing to tune each piece: storage and compute, according to the desired or current workload. This can help save costs during the time of configuration, and also still be open for future expansion. When hardware breaks, or becomes old in the cluster, it can be easily decommissioned and replaced just like swapping disks in a RAID array; I like to think of hyperconverged infrastructure as “RAID’ed servers”.

A good candidate for a hyperconverged infrastructure solution for example, is one of the clients that we (TCG), is working with. This particular client manages their own data center and disaster recovery site, and their hardware is coming to an end, or already have expired warranties. If we continued with the traditional silo’ed approach, we would have to spec out new servers, storage appliance, and networking equipment. Luckily, our client is interested in scaling their data center using a hyperconverged solution.

Sources and Further Information:

 

Carlo Pabelico