Chef and Canonical; an automation story (with a bare metal soundtrack)

Every business needs to spend fewer calories on IT management and are looking to automation and cloud-ready platforms to do so. Combining Chef’s scale and flexibility with Ubuntu’s tremendous Linux platform empowers users to easily manage everything from bare metal servers to large-scale clouds.

Barry Crist, CEO, Chef

Chef and Ubuntu are often inseparable in serious server deployments, making mutual integration a must for our users. We’re excited to offer Chef as part of the Ubuntu distribution and to deliver easy bare metal provisioning with MAAS and Chef.

Mark Shuttleworth, Founder, Canonical

Automation

As the typical number of servers in a deployment ramps from tens to hundreds and thousands, it is the one crucial aspect of managing infrastructure which every engineer, manager and executive is aware of. Automation ensures that your service delivery is robust and repeatable; it is what allows you to multiply your server count without requiring an entire new IT team; it defines how well institutional knowledge of your architecture and processes are maintained.

Ubuntu prides itself at providing end-users the best possible selection of components to deploy and manage servers at scale. Many of our key customers run Chef in production and have asked us to step up and provide first-class support for it in Ubuntu. Last week, in a keynote at Chefconf 2015, Canonical and Chef announced exactly that: a deep collaboration to ensure that users of Chef on Ubuntu have the best possible experience. In practical terms, this means:

  1. Chef will become a maintained component within Ubuntu Server, receiving security updates and bugfixes for the lifetime of the LTS
  2. Ubuntu Advantage customers which use Chef can rely on Canonical to support their automation infrastructure, with the assurance that Chef as a company will stand behind that commitment
  3. Chef will be integrated with the wider collection of tools Ubuntu provides alongside the OS, starting with MAAS, Canonical’s bare-metal provisioning and IPAM solution.

Along with the ability to deploy MAAS itself through a Chef cookbook, the integration of Chef and MAAS provides Chef users with the ability to drive bare-metal server installations with knife and Chef provisioning, the same tools Chef provides to drive cloud deployments on AWS, OpenStack and other clouds. It’s such is an exciting development that I’d like to go into it in a bit more detail.

MAAS and Chef

MAAS is all about physical hardware; its ability to drive a huge range of servers and chassis, whether they use IPMI, AMT or a converged infrastructure protocol, has made it invaluable in driving scale-out deployments for Canonical customers and the wider Ubuntu user base. It is the foundation of our OpenStack and Autopilot products, and of our wider push to drive scale-out technologies like Ceph and Hadoop. Its latest release, 1.7.2, includes the ability to install Windows, CentOS/RHEL and SUSE — so it’s not just about Ubuntu.

MAAS provides both a Web UI and a RESTful API; the API effectively provides you with the ability to manage racks of servers as if they were a private cloud. As I mentioned, Chef already has a tool to manage clouds, knife, and as part of this effort a knife plugin for MAAS has been released which lets you control a MAAS installation.

The plugin has full access to the MAAS API. Beyond querying node details, it can also be used to bootstrap servers, which automates the process of booting, installing the OS, and bootstrapping the Chef client on the provisioned machine. Nodes can be specified by hostname, zone and in the next release of the plugin, physical attributes and user-defined tags. And as with other knife-provisioned instances, at the end of deployment your server nodes are left registered with the Chef server. The video below outlines the functionality and how basic operation works:

In our validation, we’ve been positively amazed to see how solid the integration works. Chef users can be sure to have a reliable bare-metal solution as part of their toolset for managing deployments. Hats off to Chef for putting the effort into building and maintaining the integration, and looking forward to helping Ubuntu users benefit from it. Send me your thoughts on the integration to kiko@ubuntu.com. Thanks!

Posted in: