Puppet Labs is now officially a software company. The data center management technology company introduced Puppet for the Enterprise this week. The software is a major advancement for the company. It reflects on the cloud management space that is growing fast in concert with the move to virtualization, the need for data center efficiencies and automatic provisioning.
Puppet provides a framework for managing data centers. It can be used for operations of most any size. Users include Match.com, Red Hat, Twitter, Zynga and thousands of other customers. Puppet automates the provisioning, patching and configuration of operating system and application components across enterprise and cloud infrastructures.
Puppet for the Enterprise takes much of the manual work out of integrating by hand. For years, IT managers have used scripts and images to manage networks. But these days data centers may have tens of thousands of virtual machines. Puppet for the Enterprise allows system administrators to install the framework and use it manage the network as it grows in complexity.
For example, let's say you want to start using Amazon EC2. To do that you create a template or an Amazon Machine Instance (AMI). The AMI contains your applications, libraries, data and associated configuration settings.
That's fine and well. But it can be a task to update an AMI. It has to be done manually. Puppet takes the labor out of the equation. Rebuilding an AMI does not have to be done from scratch. Instead, the AMI becomes a base server with Puppert running on top of it. Puppet keeps the AMI updated with the correct configurations. As a result, scaling can be done far easier than if an AMI was rebuilt in the traditional manner.
Puppet for the Enterprise is the paid version of the open-source framework. It is available via download. You can try a version at no cost. The original Puppet will continue to be free and open source.
Puppet competes with services such as Opscode, which also provides cloud management technology.
Rooflabs provides a decent overview of the two companies:
- Insuring configurations are deployed identically across servers. If you have ten web servers, how do you know that all ten are identical? (if you're asking "why do I care if the servers are identical?" I have an upcoming post for you. Trust me, you want this.
- Insuring that your web servers continue to be identical over time, and that only "trusted" changes are deployed.
- Tracking changes over time
- Enabling the ability to roll back configurations to a point in time, across your ten servers automatically.
- Reducing the amount of build and implementation time for each server. At a previous employer, we used Puppet to reduce build times from 2.5 hours with our in-house system to 10 minutes.
- Configuring Virtual Machines
This is an interesting space to watch and has connections to the IT services market. Puppet has an advantage. They've commercialized the open source code, which they in essence helped create. Puppet has proven itself with a roster of companies. Now it's the rest of the market that will need to define how to automate its data centers. Puppet is without a doubt, one of the most viable options.