Eliminating either the virtualisation platform or the IaaS layer immediately makes the infrastructure less complex. This has a positive effect on the operation. There are fewer networks, hosts, and disks that need to be managed, which means that the infrastructure can also be run by fewer people. Furthermore, it is logical that with each layer which is removed from the infrastructure the system becomes less error-prone. Indeed, there is one level less where something can go wrong, or which someone has to worry about.
The topic of performance has been already addressed in the introduction: resources can be used more efficiently on bare metal. This also means that all hardware resources can be used, because no resources are used for hardware
emulation by a virtualisation layer. This eliminates duplicate data encapsulation and also makes networking faster. There are not two SDNs stacked on top of each other, but just one, which
It is also interesting that for such a Cloud you can use very simple hardware without the need for large amounts of duplication. There is no need to invest in dual power supplies or duplicate network connections, because in the event of a system failure, the container management will ensure that the containers are restarted directly on another system, or in several instances already distributed across multiple systems. So, if a server is broken, it is simply replaced by a new one, it just needs to be turned on, the rest is done by the Cloud management.
If you run the services that form an IaaS layer, such as OpenStack, in containers, you kill two birds with one stone: the container framework also ensures the high availability for these services and, at the same time, the IaaS Services represent a welcome added value, for example in the area of storage and bare metal management. You can also make those available for VM or Cloud instance use.
Finally, a short detour into the realm of security. If you run your application on bare metal hosts and run them yourself, you hold your security in your own hands. With a VM in a public cloud, it is a bit different, a leak on any other VM in the environment may also affect your own VM. In a bare metal environment, applications or customers can be physically separated if necessary.
Of course, there are also disadvantages when you operate your containers on bare metal. One of them is that the platform cannot be scaled with as much flexibility as it is on public cloud instances. You have to order new hardware just in time and install it in the rack if you want to operate such a platform in-house yourself. But there are an increasing number of Cloud providers offering bare metal performance for containers.
Considering the falling cost of hardware and the increasingly complex container ecosystems, the bare metal cloud seems to have a future.