About Ubuntu MAAS
An OpenStack infrastructure is built up by several components. A couple of weeks ago I described some of the components often used to setup a basic cloud infrastructure. You can find this article here.
In the article I described Ironic; a solution to provision bare metal. After I placed the article, an Ubuntu OpenStack user messaged me and told me MAAS is probably used as much as Ironic is. Because of his message and because we support Ubuntu OpenStack setups as well (with solutions like MAAS and JuJu), I wanted to share some more information about it.
What is it?
MAAS is defined as metal-as-a-service. Metal as a Service (MAAS) provides complete automation of physical servers for data center operation efficiency on-premises. It is open-source software and supported by Canonical.
Simplified; when you need some server hardware setup fast, most people choose to just spin up some virtual machines and they are ready to go. But sometimes a virtual machine isn’t enough. Sometimes heavier workloads require physical servers. Setting up physical hardware usually takes a longer time. You will have to choose between the flexibility of the cloud and the raw power of real metal.
That’s where MAAS comes in. MAAS delivers physical servers on demand just like a cloud delivers virtual machines. You can start small or stretch to hundreds of clusters for going hyper scale with thousands of servers.
When we are asked to configure new OpenStack clouds based on Ubuntu, Fairbanks uses MAAS as well. For configuration purposes in the first phase, but also for running the cloud infrastructure afterwards. We use MAAS to roll-out all physical hardware and ready it for the further installation, the phases to deploy the OpenStack cloud. After deploying OpenStack MAAS is used for growing the cloud or for deploying bare metal for other tasks when necessary. We often see that OpenStack users not only orchestrate virtual machines, but also bare metal, containers, HPC machines and edge clouds.
MAAS treats physical servers like virtual machines or instances in the cloud. Rather than having to manage each server individually, MAAS turns bare metal into an elastic cloud-like resource. In other words, it provides management of a large number of physical machines by creating a single resource pool out of them. Participating machines can then be provisioned automatically and used as normal. When those machines are no longer required, they are “released” back into the pool.
MAAS delivers fast OS installation times thanks to its optimised image-based installer. You can deploy:
Additionally, another pro of MAAS is the fact that you have complete control over the hardware and software that goes into the system. For instance, if you are working on machine learning and need a specific model of GPU to fit your workload, you can set it up with those GPUs or write your code to conform to the GPU you picked in the first place. Now, you have full control of the low-level resources to fine tune your software to the hardware stack underneath, which can increase speed and allow your code to be more efficient and expressive.
So here you have it; a little more about bare metal provisioning with MAAS. Are you still using bare metal as well? I would love to hear from you about the solution you are using.