The cloud computing model of service-based IT delivery has been over-hyped, over-sold and (in many respects) over-talked. This space's next big thing is the high-performance bare metal cloud solution.
But what is bare metal cloud? Who uses it? What does it do? -- and how should developers code for this environment?
Guest blogging with some much needed answers on the Computer Weekly Developer Network is Gopala Tumuluri, VP of hosted services at IT infrastructure solutions company Internap.
Organisations' collective demands for flexibility, scalability and efficiency have driven them flocking to public cloud infrastructure services, representing (as they do) an opportunity for cutting IT costs while capitalising on technology innovations.
But, just a few short years into the cloud revolution, new options have appeared in response to the stress that high-performance workloads can put on traditional public clouds.
Performance degradation can often occur, stemming from the introduction of a hypervisor layer. While the hypervisor enables the visibility, flexibility and management capabilities required to run multiple virtual machines on a single box, it also creates additional processing overhead.
For application architectures that demand high levels of data throughput, the 'noisy neighbour' side-effect of the multi-tenant design of virtualised cloud environments can be constraining.
Multi-tenant virtualised public cloud platforms result in virtual machines competing and restricting I/O for data-intensive workloads, leading to an inefficient and inconsistent performance.
How is bare-metal cloud different?
The bare-metal cloud provides a way to complement or substitute virtualised cloud services with a dedicated server environment that eliminates the overhead of virtualisation without sacrificing flexibility, scalability and efficiency.
Bare-metal cloud servers do not run a hypervisor, are not virtualised -- but can still be delivered via a cloud-like service model.
This balances the scalability and automation of the virtualised cloud with the performance and speed of a dedicated server. The hardware is fully dedicated, including any additional storage. Bare-metal cloud instances can be provisioned and decommissioned via a web-based portal or API, providing access to high-performance dedicated servers on demand.
Also, depending on the application and use case, a single bare-metal cloud server can often support larger workloads than multiple, similarly sized VMs.
Which workloads see the most benefits?
High-performance, bare-metal cloud functionality is ideal for instances where there is a need to perform short-term, data-intensive functions without any kind of latency or overhead delays, such as big data applications, media encoding or render farms.
In the past, organisations couldn't put these workloads into the cloud, without accepting lower performance levels. Organisations having to adhere to rigorous compliance guidelines are also good candidates for bare-metal cloud.
How should developers code for bare-metal cloud?
An intrinsic benefit of the bare-metal cloud environment for developers is that no special considerations need to be made when coding for these servers; this is in contrast to traditional virtualised environments, where developers need to account for a potentially untold number of 'noisy neighbours' on the same box when coding.