Metal as a service (MaaS)

Metal as a Service (MaaS) has emerged as a powerful solution for handling physical servers with the agility typically associated with Virtual Machines. MaaS simplifies the complex process of managing physical hardware at scale, making it an attractive option for data centers, cloud providers, and even large enterprises.

What is MaaS?

Metal as a Service, or MaaS, is a provisioning model that automates and streamlines the configuration, deployment, and ongoing management of physical bare metal servers. It is open-source software, maintained by Canonical and it allows you to provision servers fast with Windows, Linux and even VMware ESXi helping you to turn data centers into working clusters.

Apart from bare metal, it allows provisioning of virtual machines using the same set of tools and processes. MaaS uses PXE and IPMI (and newer protocols such as Redfish) to simplify imaging machines on your network, eliminating the need for thumb drives or having to physically be at the machine. You have the advantage of being able to simply boot to your network and leave the rest of the process to MaaS.

This approach treats physical machines much like virtual machines in the cloud, where they can be dynamically managed, provisioned, and decommissioned with minimal manual intervention.

Main Components

Metal as a Service comprises several key components that work together to automate the management of physical servers. Let’s take a look at some of the main components:

Region Controller (regiond)
The Region Controller serves as the central management hub for the MaaS deployment. It  deals with operator requests and provides a web interface and APIs for users to interact with MaaS, allowing them to configure, deploy, and manage servers.

Distributed Rack Controllers (rackd)
These controllers extend MaaS functionality to manage physical servers across distributed locations or multiple data centers or simply multiple racks. They provide high-bandwidth services to multiple racks, allowing organizations to decentralize the management of their infrastructure, enabling more efficient operations and improved fault tolerance.

Rack Controller provides services such as DHCP, IPMI, PXE, TFTP.

IPMI Server
IPMI (Intelligent Platform Management Interface) plays a crucial role in enabling the remote management and monitoring of physical servers within the infrastructure. 

DHCP Server 
MaaS often includes a built-in DHCP server or integrates with existing DHCP infrastructure. The DHCP server assigns IP addresses to servers during the bootstrapping process, enabling communication between servers and the MaaS environment.

TFTP Server 
MaaS utilizes a Trivial File Transfer Protocol (TFTP) server to deliver boot files and images to servers during the provisioning process. These files contain the necessary instructions and data for servers to bootstrap and initiate the deployment process.

PXE Bootloader
MaaS leverages the Preboot Execution Environment (PXE) to enable servers to boot from the network. The PXE bootloader initiates the boot process on servers and facilitates communication with the MaaS infrastructure to retrieve boot files and configuration data.

How does it work?

When you boot up a machine on the network, MaaS takes inventory of its hardware, providing detailed descriptions and allowing you to conduct firmware updates and hardware tests seamlessly. Following the inventory process, MaaS enables you to configure and deploy virtually any operating system to the machine without manual intervention.

Moreover, MaaS offers the capability to build custom machines using Packer by HashiCorp, ensuring uniformity across multiple platforms from a single source. If a machine is no longer needed, MaaS allows for its release and even facilitates secure disk erasing to ensure data protection.

Integration with tools like Ansible, Chef, Puppet, and Terraform grants users extensive flexibility in automation beyond mere provisioning. Additionally, MaaS extends its functionality beyond provisioning to include IP address management (IPAM), DHCP, and DNS along with network discovery for bare metal clouds.

The Node Lifecycle

The MaaS node lifecycle refers to the series of stages that a physical server goes through from initial discovery to eventual decommissioning within the MaaS environment. Here’s an overview of the typical stages in the MaaS node lifecycle:

  1. Discovery
    At first MaaS identifies and catalogs physical servers within the network. The network is scanned for compatible hardware and information about each server’s specifications is being collected (CPU, memory, storage, network interfaces and hardware available).
  1. Commissioning
    Servers are initialized and prepared for deployment. This involves tasks such as updating firmware, performing hardware checks, and configuring network settings to ensure compatibility with the MaaS environment.
  1. Ready
    A machine that completes the commissioning process is labeled as “Ready.” At this stage, it possesses configured BMC credentials (for IPMI-based BMCs), enabling power control. This ensures that MaaS has the capability to initiate or cease the machine’s operation and allocate or redeploy it with a new operating system when necessary.
  1. Enlistment
    Servers are enlisted into the MaaS inventory, where they await further actions. Enlistment involves registering servers with MaaS, assigning unique identifiers, and associating them with specific hardware profiles or configurations. New machines which PXE-boot on a MAAS network will be enlisted automatically if MAAS can detect their BMC parameters. 
  1. Allocation
    Administrators assign roles or purposes to servers based on their intended use. This may involve categorizing servers into different groups, such as compute nodes, storage nodes, or network nodes, and configuring them accordingly.
  1. Deployment
    Servers are deployed with operating systems or workloads according to predefined configurations. MaaS facilitates the automated deployment of operating systems and basic software packages, ensuring consistency and reliability across the whole fleet of servers.
  1. Releasing
    When a user has finished using the node, they can release it back to the shared pool of server capacity. You can request MAAS to do a full disk-wipe of the machine before the node is released.

Throughout their lifecycle, servers are monitored and managed by MaaS. This includes tracking hardware health and system events, as well as performing routine maintenance tasks and applying updates or patches as needed.

At the end of their lifecycle or when no longer needed, servers are decommissioned from the MaaS environment. Decommissioning involves removing servers from active use, releasing their resources, and potentially repurposing or retiring them completely.

Pros and Cons of Metal as a Service

Pros

Automation of complex processes
MaaS automates the provisioning, configuration, and management of hardware, reducing the potential for human error and the need for manual server configuration.

 

Speed and Agility
By automating provisioning, MaaS significantly reduces the time it takes to deploy physical hardware, matching the speed typically associated with virtual environments.

 

Flexibility
Companies can use it for both on-premise and hybrid cloud environments as well as a base for their own private cloud. Allowing great flexibility depending on the organization’s needs.

 

Cost Effectiveness
With improved resource utilization and reduced manual intervention, organizations can save on operational costs and reduce the need for physical interventions.

 

Scalability
MaaS supports the management of vast numbers of physical servers, enabling scalability without the complexity traditionally associated with large physical deployments.

Cons

Initial Setup Complexity
Setting up a MaaS environment can be somewhat complex and requires a good understanding of involved software and hardware.

 

Cost of Implementation
Although cost-effective in the long run, the initial investment for implementing MaaS can be significant, especially for smaller organizations. Deploying MaaS to bootstrap and manage only a few servers might be an overkill.

Conclusion

Metal as a Service represents a significant leap forward in how organizations manage their bare metal infrastructure. With the capacity to automate and optimize the deployment and management of physical servers, MaaS can lead to remarkable improvements in efficiency, scalability, and operational control. However, the transition to MaaS requires careful planning and consideration.

If you are considering implementing Metal as a Service in your organization but are unsure where to start, contact us and give us a call. Our team of experts is ready to help you evaluate your needs, understand the potential benefits, and successfully implement a MaaS solution tailored to your specific requirements. We have been using MaaS as a part of our c12n cloud for a while and know about all of its caveats.