5 ms·
Puppet 2.7 Released
- jws 15y agoWTF is Puppet? Puppet is an enterprise systems management platform that standardizes the way IT staff deploy and manage infrastructure in the enterprise and the cloud. By automating the provisioning, patching, and configuration of operating system and application components across infrastructure, Puppet enables IT staff to master their infrastructure even as complexity grows.
- jarin 15y agoIt's really similar to Chef, but I find Puppet way easier to work with.
- jarin 15y agoOh thank the heavens, this was literally the only thing keeping me from upgrading my Rails apps to Ruby 1.9.x (all of my "serious" apps are deployed via Moonshine).
- dolinsky 15y agoI would love it if people would share their real world experiences with either (or both) Puppet and Chef in dynamic environments that needed more than a few servers to be maintained. In particular, polyglot persistent environments that aren't necessarily tied to a particular framework requirement.
- snprbob86 15y agoCan anyone point us towards good "server configuration management for dummies (who happen to run startups)" documentation? I've been looking at Puppet and Chef, but we're not just Rails anymore and I can't imagine that the Ruby world's tools are the only popular ones. I just don't know where to look for how to make an informed choice, how to get started, etc. It feels like there is a large gap in available knowledge between running a couple of processes on a single server and anything I'd trust to some paying customers.
- bretthoerner 15y agoThose aren't just the Ruby world's tools, fwiw. We use Puppet at Disqus (a Python shop). Puppet and Chef are used by pretty much any modern web deployment that didn't already have a system in something more dated (cfengine? custom made?). At least that's the feeling I get. I can't speak much to Chef but Puppet has great docs. You might just get an intro book for one or the other and dive in.
- cparedes 15y agoChef has decent documentation, but the last time I checked, it was a lot less polished than Puppet's documentation. With that said, the folks in #chef on irc.freenode.net are quite helpful, and it's possible that the documentation has improved since the release of 0.10.
- IgorPartola 15y agoPuppet is pretty great and at TransLoc we don't use any Ruby. We combine it with packaging all of our code as Debian packages and it makes bringing up a new server a matter of installing puppet, then running the puppet manifests. Note that the easiest way to start is to not use any of puppet's built-in client-server stuff (puppetd command). Instead run everything like this: $ git clone $REMOTE_REPO_WITH_MANIFESTS puppet $ ls manifests modules $ sudo puppet --modulepath=modules/ --debug manifests/site.pp You could use something like fabric if you only have 1-2 servers.
- rmaccloy 15y agoPuppet and Chef are pretty agnostic. You can use them to manage only your infrastructure (packages, user accounts, databases) and leave app deployment up to something like capistrano or fabric if you like (although at a certain level of app complexity it makes sense to integrate.) cfengine has been around longer, but seems to have negative adoption since puppet became well-known. I know a few people who swear by it, though. FWIW, at my current startup I use Chef to manage a mid-sized collection of servers (app, load balancers, DBs/replicas, task processors) where the app is written mostly in Python, and it took a ton of pain out of scaling up to deal with a very large paying customer two nights ago. Puppet has better documentation, but learning either is a bit of a trial and error process I think. You might find Blueprint (https://github.com/devstructure/blueprint https://github.com/devstructure/blueprint) useful to bootstrap (the authors are around in the HN community, I think.)
- IgorPartola 15y agoActual release notes: https://projects.puppetlabs.com/projects/puppet/wiki/Release_Notes https://projects.puppetlabs.com/projects/puppet/wiki/Release...
- gog 15y agoI know tools like Puppet and Chef really shine when you have 'a lot' of servers that you need to handle, but from my humble experience (only with Chef) they can also make things more complicated then they should be if you are not a heavy user. I am not deploying Ruby applications so I really don't like the idea of installing a bunch of software on my production servers. Not to mention that chef also installed a compiler on my server and that is a big no-no in my book. Am I the only one that has an aversion of using these tools?
- alnayyir 15y agoI avoid unnecessary complication but wrapping your head around infrastructural complexity is part of being a programmer.
- uriel 15y agoYou are not alone, I'm also very reticent to adding yet one more complex tool into my systems when a few simple and clean shell scripts can do the job.
- cparedes 15y agoI see where you're coming from - however, the great thing about CM tools is that they abstract a lot of the weird differences between UNIX's and Linux distributions. Defining a user in Puppet or Chef will create that user the same way, whether it's in RHEL, Solaris, FreeBSD, etc. Puppet is also more lightweight than Chef in terms of the amount of dependencies it requires, given an already existing installation of Ruby (in fact, I think there's only one dependency: facter.) The only problem is that it comes with a lot less available language features out of the box than Chef, mainly because Puppet doesn't have a way to store and serve configurations of other machines out of the box without something backing the data store, like MySQL or CouchDB.
- Duff 15y agoI've been using Puppet for Linux servers and SCCM for Windows stuff... what's missing for me is good out of band configuration verification. Is there a good replacement for Tripwire out there? It's a great toolset for change management and security, but is too expensive for my current endeavours. I played with an open source tool a couple of years ago that kind of sucked.
- atsaloli 15y agoCfengine has tripwire-like functionality. There is an example in the default promises.cf that ships with Cfengine 3. (Look for "tripwire".)
- andrenth 15y agoWhat are the best practices for maintaining Puppet code in version control? Do people usually keep separate branches for different kinds of machines (e.g. webservers, SMTP servers, etc)? Is there a discussion about this documented somewhere?
- cparedes 15y agoOver at Seattle Biomed, we keep everything in the same branch (for now) - all of our nodes are defined in nodes.pp, and we have modules that install software/configuration files as needed. We include modules in the node definition that should comprise the service we want to run on the server.