In the early days of cloud computing, virtual machines gained popularity as a solution to the rigidity of hardware. As IT teams moved from scale-up to scale-out models, the speed and flexibility of VMs made them an attractive alternative to bare-metal provisioning. But, metal is making a comeback.
That's because companies like Verizon, Microsoft and AT&T are adopting new solutions that make physical servers as easy to deploy as VMs in the cloud. Services such as Canonical's MAAS (Metal-as-a-Service) are now allowing the enterprise to combine the flexibility of cloud services with the raw power and security of their bare-metal servers to run high-power, scalable workloads.
For enterprise IT, that means it could finally be possible to enjoy the best of both worlds - the speed and flexibility of the cloud and the reliability and efficiency of bare-metal.
So to dig in a little deeper and gain a better understanding of what's going on, I reached out once again to Mark Baker, Ubuntu server and cloud product manager at Canonical.
VMblog: To kick the conversation off, can you give an overview of how MAAS works in the enterprise?
Mark Baker: MAAS is used to automate the provisioning of physical hardware with a variety of different operating systems - Ubuntu, Red Hat, CentOS, Suse and Windows. A typical organization will have physical servers from multiple vendors. Vendors typically have their own methods of automating the installation of the operating system remotely. While these tools can be comprehensive, it does require using different tools for different physical systems which adds complexity and overhead.
Organizations really want a uniform way to manage bare metal provisioning that is common across all the hardware systems they have in their datacenter. Many will develop custom scripts that make use of standard interfaces such as PXE and tftpboot. MAAS provides a rich interface and management framework for maintaining an inventory of hardware systems and then provisions those on demand with the required operating system. MAAS uses standard protocols where available and has specific integrations with advanced systems such as Cisco UCS. Once a system is deployed it is taken out of the pool of available resources until such a time that it is no longer needed and 'released' at which point it is reset to a clean state and put back into the pool of available resources. MAAS can be driven via a rich web based interface, a command line client and an API to be able to connect it to orchestration and modelling systems.
VMblog: If we're heading toward a cloud-driven age, why would a CIO choose to provision bare-metal instead of VMs in the cloud?
Baker: Clouds still require hardware to run on and MAAS provides a full automation to be able to scale clouds out and back again. With MAAS, adding capacity to a running OpenStack cloud is a breeze. This is because the hardware can be powered up - you can have Ubuntu 16.04 LTS and the relevant OpenStack services installed on it and then bound it into the running cloud. When the resources are no longer required it can be cleaned up, powered down and then made available to some other application or business need. However, it is important to note that not all application services are optimized for cloud - many enterprise applications still prefer to run in a traditional virtualization or in a physical bare metal environment. The same can also be true for data analytics and high performance compute jobs - running on the metal gives the best raw performance, meaning MAAS provides a cloud like way to be able to access physical resources.
VMblog: So does MAAS make bare-metal a threat to VMs?
Baker: No, certain applications have different requirements. MAAS makes the provisioning and management of physical hardware an efficient process. It can manage IP addresses, storage and provide an asset inventory of the hardware resources. MAAS has no visibility of anything going on above the operating system it installs so access to other virtualized resources (network, storage) and the sharing of a single physical resource (i.e a server) in a multi-tenant environment requires another framework such as a cloud (i.e OpenStack) or a container orchestration system such as Kubernetes. At Canonical, we integrate Juju, a Big Software modelling system with MAAS to be deploy Canonical OpenStack and Canonical Distribution of Kubernetes onto the hardware that is managed by MAAS.
VMblog: Can you give us some of the advantages of using a tool like MAAS?
Baker: It is a fully open source and commercially supported bare metal provisioning system that works across common hardware systems. This reduces or eliminates the need for vendor specific provisioning tools and enables organizations to scale their operations far more efficiently than using manual methods. It also reduces the risk to organizations of using custom provisioning systems based on scripts or packages developed in house. This is because Canonical provides a full roadmap as well as security updates, patches and support for MAAS. Many organizations that develop systems in house have poor audit and compliance controls and are highly dependent upon the original designers and authors of the system.
VMblog: How can customers deploy MAAS on their own infrastructure?
Baker: They need to install Ubuntu as a host operating system to run MAAS and then install MAAS itself. This is relatively trivial. All servers to be managed by MAAS require a form of remote power management typically provided by a BMC.
VMblog: And how can MAAS be used in conjunction with other Canonical tooling, such as Juju?
Baker: Juju is a tool that models complex software applications. These software applications can then be deployed and operated by connecting Juju to an appropriate API endpoint or provider. MAAS is one of these providers (along with AWS EC2, Azure, Google Cloud, OpenStack and many others).
VMblog: Are there any updates coming in the near future?
Baker: MAAS will continue to be enhanced with new features around network and storage management. New platform support is also being developed such as Intel's rack scale architecture.
VMblog: Finally, can you talk about some of the use cases of MAAS in the enterprise?
Baker: MAAS is used to be able to make best use of hardware assets where workloads are variable. A good example is a bank that needs to be able to run trading systems during the day and then settlement engines and risk calculations as batch jobs overnight. If these different functions require different operating systems (i.e Windows for trading and Linux for the batch jobs) then without MAAS, two clusters would be required. With MAAS, a single cluster can be re-provisioned within minutes to provide the operating systems required for the job. MAAS can also be used to add capacity to web applications to respond to business demand. A good example of this can be web applications where seasonal variances require additional capacity to be added. Not only can MAAS bring servers online to manage the capacity, it can do so within minutes allowing organizations to respond rapidly to changing circumstances.
Once again, a special thanks to Mark Baker, Ubuntu server and cloud product manager at Canonical, for taking time out to speak with VMblog.com and answer a few of our questions.