InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Puppet: Ruby-based Server Management Automation Suite

Posted by Carlos Armas on Feb 22, 2010

Sections
Development,
Operations & Infrastructure
Topics
Linux ,
Ruby ,
Deployment / Datacenter ,
Operations ,
Architecture
Tags
DSLs ,
Management

The team at Reductive Labs recently announced the release of version 0.25.2 of Puppet, the open source Ruby-based configuration management and automation tool for Linux and Unix servers. In this software bug-fix release, 123 open tickets were closed, and the developers claim a reduced memory footprint, improved error reporting, threading, and lock contention (the latter apparently a source of reported system hangs).

Following a client-server model, and with its own declarative language, Puppet tries to solve one of the challenges of server systems administration: how to reliably automate server configuration management and distribution, an essential requirement in large datacenter deployements. A GigaOM article from November 2009 lists Puppet as one of the eleven top open source resources for cloud computing, while Matt Asay suggests Cisco should consider acquiring Reductive Labs as part of its current data center strategy:

[...] as Cisco goes after the data center with its new Unified Computing push, one open-source company should be on Cisco's radar screen: Reductive Labs, creators of the Puppet project, a framework for automating system administration

For system administrators it has been common for a long time to automate routine administration tasks via custom scripts. Maintaining such set of custom tools becomes increasingly complex as the number of servers, diversity of operating systems, or network complexity increases. Puppet is not the only configuration management tool around. Mark Burguess's Cfengine is another extensively used tool, as well as BCFG2, developed by the Argonne National Laboratory's Computer Science Division. We do not intend to compare the benefits of the different tools available, for those interested in the debate this blog posting by Luke A. Kanies is a good starting point.

Puppet approaches configuration management from an angle that is different from the traditional script-and-automate model:

  • It provides a Domain Specific Language (DSL) to model the relationship between servers, services, and service objects
  • It brings systems administration automation closer to the realm of software development, expressing an infrastructure in functional, repeatable lines of code
  • Its level of abstraction provides a flexibility that is increasingly relevant as systems administrators are required to manage more heterogeneous configurations for server farms, may them be hosted in-house, at a hosting facility, or a cloud provider

Puppet is supported by an active development community. One of several additions which are available is a new web-based dashboard which was recently released. It currently provides two functional uses:

  • Node configuration using parameters, classes, and groups
  • Monitor Node status monitoring, with real-time reporting and change tracking

Like any new feature in open source, as the user community provides feedback and requests features the Puppet dashboard functionality is expected to change frequently as it evolves. The dashboard complements the Puppet featureset by providing a level of visibility and summarization of the infrastructure that is essential to the systems administration team responsible for managing it.

No comments

Watch Thread Reply

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.