Containers have been called the “third wave of computing,” after the x86 server revolution and virtual machines. When it comes to technology, there is beauty in simplicity, and it’s often a minimalist design that runs best. Right from the time when humans first started making machines, it’s always been the rule of thumb that the fewer moving parts you have, the less chances there are of a breakdown. Containers on bare metal is that minimalist design that involves running containers directly on bare-metal servers without a hypervisor or a virtual machine.
Resistance to change
Containers used on bare metal are the epitome of simplicity. Using containers on bare metal requires a fundamental change in the way you look at software and, in particular, how you break it down into fundamental units. Those fundamental units have been VMs ever since the big wave of server virtualization. Enterprises have gotten so comfortable with VMs that they seem almost reluctant to let the next wave wash ashore. However, some brave enterprises like Pantheon have not only embraced bare-metal architecture but have also stated that bare-metal containers are the obvious future of cloud computing.
People are used to having things a certain way, and nothing illustrates this point more than the manner in which the enterprise ushers in new change. The cloud is probably the single biggest way to cut costs related to computing and infrastructure, but a lot of large enterprises are still clinging to their hardware servers. Cloud-based VMs are much cheaper, and easier to scale, but making the switch is hard. Containers take this a step further. In fact, containers are proven to increase performance by 30 percent or more when run on bare metal, but only a handful of companies are adopting or supporting this practice.
VMs — The in-betweeners
Some change is just inevitable and almost impossible to fight, which is evident with the success of Docker. Container orchestration has now reached new levels and there are tools being built around other tools to handle and manage containers. So while the enterprise goes deeper and deeper into container technology, the only purpose that virtual machines are actually serving is to keep the environment friendly and familiar.
In this respect, VMs are more like training wheels on a bike, and like training wheels they will soon come off as the enterprise gets more used to containers. This isn’t to say that VMs will go extinct — they will always be a part of our architecture — but the practice of running containers in a VM will be gone soon.
Before we look at some more examples of enterprises that actually “dare to bare,” let’s look at why most enterprises prefer the safety of a VM and how that’s going to change in the future. One distinct advantage VMs have is with regards to upgrading servers. When you upgrade a bare-metal server you need to create a new container environment on the new server from scratch. But if the container environment was part of a virtual image, you could simply move it from server to server. In this way VM images are quite easy to spin and transfer and are preferred in environments that are not 100 percent containerized.
This makes a lot of sense if you have to upgrade servers frequently, but what people fail to realize is that containers on bare metal run on cheap servers. So most of the time you’re just going to be adding more cheap hardware and hardly ever doing any upgrading. This not only reduces effort but also makes it economic to have a lot of backup servers as well. Managing container environments is becoming even easier with the number of Docker-centric operating systems available today.
Another advantage that this setup has is in terms of security. Though most people feel VMs are more secure, running containers on bare metal has its advantages. If you’re running your application on dedicated servers, your security is pretty much in your own hands compared to if you were on a VM. With a VM in a public cloud environment you are most often sharing a server with other “tenants,” and a vulnerability on any other VM on that server could directly affect you.
DDoS attacks have gained notoriety for bringing down multiple sites at a time, and this is mostly the case with multiple VMs on a single server. Not just security, but even performance is affected by other resource-hungry apps on the same server. A lot of people refer to this problem as the “noisy neighbor” syndrome. With bare metal, you basically are your own neighbor.
This brings us to our next reason most companies are still on VMs: Almost all cloud providers support containers. There are really only a handful that support them on bare metal. This could be an oversight on the part of the big players like AWS and Azure, or maybe they’re just waiting and watching since provisioning a lot of cheap servers to support bare metal is not going to be difficult for them at any point of time.
Bare-metal cloud providers
As far as cloud support for bare metal goes, at present it’s less than a handful of cloud vendors.
Rackspace’s bare-metal offering, called OnMetal, has seen its share of success since its launch in October 2014. Brigade is a social-media platform that allows people to support and take action with regard to social causes. One of their main concerns was uptime and availability, and to ensure this they turned to Rackspace OnMetal cloud servers. Apart from Brigade, Rackspace’s Cloud Metrics team has moved their production systems from VMs to OnMetal and have stated that the new system is not only reliable but also unexpectedly less expensive.
The other company that’s championing the cause of bare metal is Oracle. Apart from their new public cloud offering where you share resources with other customers, they are also offering Docker containers on bare metal. In addition to providing 100 percent workload isolation, these servers are also expected to cost 20 percent less than market leader AWS, with seven to 10 times better performance.
IBM has been providing support for bare-metal servers in the cloud since 2005, but last year renewed their efforts by adding BlueMix, which is a host of services to their bare metal offering called “SoftLayer.”
Joyent has an interesting bare-metal cloud offering with Triton. In fact, last year Joyent was acquired by Samsung, which is trying to broaden its footprint in the enterprise cloud space. It’s likely that Joyent’s bare-metal cloud was a key part of the acquisition.
China Mobile, China’s leading mobile service provider with the world’s largest mobile customer base, has just launched a private cloud service for its enterprise customers, and bare metal is part of the offering. This 2,000-server network is completely based on open-source software and was created so all its customers could have a private cloud without the load of having to maintain it.
It’s really hard to predict what’s in store for any technology, especially with the fast pace at which we continue to innovate. Bare-metal cloud is still a fringe technology in the enterprise, but given the maturing container ecosystem, plummeting costs of hardware, and issues with public cloud platforms, it’s likely that the bare-metal cloud will find a permanent place in the future of the enterprise cloud.
Photo credit: Wikimedia