With the addition of Ironic to the list of OpenStack projects finding their way into data centers around the world, the dream of having the entire data center automated and orchestrated by a single entity is becoming possible. OpenStack, with the help of Nova, Cinder, Glance, Swift and others, offers a strong, stable and flexible virtual platform, but data centers also need to provide physical machines to customers.
This important aspect was simply not addressed by OpenStack until recently. After the first iteration with the Nova bare metal project, developers quickly realized that an undertaking of this magnitude needed something more than an extension of Nova. Hence, the creation of a full project, aptly named Ironic, to deliver the opposite of what OpenStack was originally meant to do – deliver physical, not virtual, machines.
OpenStack gets physical
There are plenty of reasons for a customer to request a physical machine. High-performance computing (HPC) comes to mind, where crunching numbers as fast as possible can sometimes be incompatible with virtualization and its many layers of abstraction. But now, there is another reason for this renewed interest in running a machine as close to the metal as possible: the containers (r)evolution.
Containers are a new way of consuming computing resources. They are smaller than classic virtual machines and do not require all the disk space, complex file tree, configuration and computing overhead of a full-fledged operating system. This is a software developer’s dream – the removal of a lot of complexity from the equation, leaving behind nothing but the beautifully written poetry of his code(!).
Containers are not necessarily incompatible with the previous paradigm of classic virtual machines, but VMs are becoming more of an unnecessary burden. In complex systems where the KISS rule dominates almost all others, we tend to throw away the unnecessary pretty quickly.
Bringing bare metal to OpenStack
A perfect match for this VM-less container would then be a good old bare-metal server, but since OpenStack has been all about virtualization since its inception, there’s never been any real interest in providing this bare-metal orchestration to the customer. The work that has been done (for example Triple-O) was directed towards the undercloud, or the initial provisioning of the cloud (after all, it can be called the cloud, but the reality is that it never really left the metal below).
There is a big difference between automating the provisioning of an undercloud and providing customers with these same servers. The customer servers need to reside in isolated tenant networks, which means we’re not just automating server installation, but automatically configuring networking equipment as well.
Although this last part is not yet part of OpenStack, the Internap engineering team managed to get ahead of the curve and provide just that – tenant network isolation delivered to the customer in a pure physical environment. The Internap team will now work in collaboration with the OpenStack Ironic team to share their experience and help bring OpenStack one step closer to a fully automated data center solution.
Will containers become a driving force for OpenStack to accelerate its bare-metal capabilities in the near future? Absolutely. Are containers the only reason to offer bare-metal servers to customers? Not at all, but from the point of view of a service provider, once the server is delivered to the customer, the actual usage of the machine is not relevant…it’s all about how it got there.