Puppet Labs and EMC open source next-generation provisioning tool: Razor
Puppet Labs and EMC announced last month the availability of Razor, an open source cloud-provisioning tool that allows automated provisioning and inventory of bare metal machines as well as virtual machines based on user-defined tagging rules. The tool currently deploys as a Puppet module and is licensed under Apache 2.0.
The tool has been called a “next-generation provisioning solution” because of its ability to dynamically detect and setup new hardware or virtual machines for immediate use based on its characteristics (any combination of CPU version, vendor, memory, storage, or any other data provided by Facter, Puppet Lab’s discovery tool) and then pass control to infrastructure management tools like Puppet. The end goal being the automation of bare-metal-to-cloud nodes provisioning and subsequent service deployment.
An in-memory Linux micro-kernel is installed when a new server boots up and it then uses Facter to gather an inventory of the server’s configuration. Based on this information a match against a set of user-defined rules determines how the new server will be tagged:
Copyright Nicholas Weaver
Tag matching rules then determine which provisioning model (operating system version and hypervisor) to install on the new machine and how to group similar machines (from a physical and/or logical point of view) into clusters:
Copyright Nicholas Weaver
From this point onwards Razor hands off control of the new server node to the infrastructure management tool so that the latter can decide which services and applications to install based on its own rules. This handoff is done via a broker (Puppet comes out of the box but similar tools should be able to integrate with Razor by implementing their own broker plugin) which receives all the metadata and tagging information collected by Razor.
Besides a transparent integration with the higher level infrastructure management tool, another of the core tenets for Razor was the ease of extensibility as Nick Weaver, a vSpecialist at EMC and Razor’s main author, points out:
Razor allows you to add support for an entirely new operating system with a single file. It allows you to create multiple versions of an operating system model by changing a few lines. And with this release it fully supports VMware’s ESXi 5, Centos 6, openSUSE 12, Ubuntu Oneiric & Precise, and Debian Wheezy with our first release.
From a business perspective, there was some speculation regarding EMC’s interest in Razor. Brian Gracely, an employee at EMC, commented that:
No roadmap was publicly announced at EMC World 2012 for Razor, although there was quite a bit of public discussion about moving storage platforms to x86 Intel platforms, and some hints about consolidating compute and storage in a hybrid enclosure. So maybe Razor will eventually be adopted by EMC, or maybe it will require the community to drive new adoption models.