
One of the most asked questions during our trainings is which graphical frontend people should choose for managing their infrastructure. The answer is not an easy one, and it also keeps changing over time as the various projects release new versions. This post is an attempt to outline the major reasons for choosing one or the other.
We'll try to keep it up to date, so if you're reading this and you feel something is outdated and/or no longer correct feel free to let me know in the comments and we'll update this page asap.
Puppet Enterprise Console
Price: non-free, per node
Open Source: no
Status: Fully maintained by Puppet Labs
Official site:link
The first choice for many people. The Puppet Enterprise (PE) console has come a long way in recent years. While the first versions (anything before 3.0) contained a lot of questionable functionality, the newer versions 3.0 and 3.1 have many improvements and make this a top choice.
Discoverable Classes & Parameters
In version 3.1, one of the in my opinion very important previously missing features that was added was "Discoverable Classes & Parameters". This allows the Enterprise console to search for new classes and their class parameters within your puppet repository. Especially for larger repositories this is important functionality making administration much easier.
Live management
Some of the nice functionality in the PE Console has to do with live management which uses mostly mcollective underwater. It allows you to restart services, upgrade packages and check the status of a specific resource on a set of servers remotely.
update: here's a video outlining the functionality in Puppet Enterprise 3.1:
Puppet Open Source Dashboard
Price: free
Open Source: yes
Status: minimal community maintenance
Official site:link
This has a very simple recommendation from my side: Don't use it unless you have a very, very good reason. It's deprecated! Someone has volunteered to continue development, but judging from the commit log it doesn't seem like there's too much new development.
Puppetboard
Price: free
Open Source: yes
Status: maintained by Daniele Sluijters and some community involvement
Official site:link
This is a much younger project, and aims to only do reporting but do it very well, so non of the more interactive features found in the other projects will be supported here. An interesting project, definitely good to keep an eye on if you're just looking for visualised reports. PuppetBoard is written in Python.
Update: Here's a recording of a presentation by Daniele from PuppetCamp Amsterdam in January 2014. One of the most interesting takeaways is that it is not very scalable until the next release due to limitations in older versions of the PuppetDB API. Watch the full talk for more.
The Foreman
Price: free
Open Source: yes
Status: maintained by RedHat and a very active community
Official site:link
The foreman is the main competitor to the PE console in this space. It was started by Ohad Levy who works for RedHat in Israel. This project is developing fast and is getting more and more interesting. It uses so-called smart proxies in order to proxy functionality like TFTP and DNS off to separate servers, which is good for scalability.
It should be said that the foreman aims to do more then the PE Console. With the foreman you can provision new vm's on OpenStack, Google Compute Engine, Rackspace, AWS and a bunch of others. Once those machines come up, they can be managed with The Foreman as it's ENC and reporting backend.
update: Here's a video from the 2014 linux.conf.au conference with a good overview of the foreman:
Puppet Explorer
Price: free
Open Source: yes
Status: maintained by Spotify and some community involvement
Official site:link
This is the youngest of the PuppetDB reporting projects, and aims to only do reporting just like PuppetBoard. An interesting project, definitely good to keep an eye on if you're just looking for visualised reports. It's written in CoffeeScript and AngularJS and supports talking to multiple PuppetDB instances.