Chef Shawn by day, Puppet master by night
After my first post about GoGrid and the lack of server images at the time I was kindly advised that real server admins use tools like puppet, cfengine and chef to handle this. Now if I was a real server admin this would have been quite the blow to my ego, luckily however I’m not and just play one on the internet. That said this advice did cause me to look into Puppet, Chef and cfengine and I liked what I saw.
I read through the project pages quickly and decided to start with Puppet for some reason. So off I went setting everything up. My first plan was to test with one “class” of server that I need to scale up and down often. Creating my scripts was well somewhat of a challenge, a lot of a challenge actually. I ended up buying a book on puppet which helped quite a bit and after a few days(Yes days!) I finally had everything working to load and update a server using puppet. This wasn’t encouraging since I still didn’t feel like I really knew puppet well enough to go ahead and fly through the other server types. In fact as sad as it sounds I was still pretty confused most of the time.
Puppet did run well though and interfaced nicely with our nagios monitoring so all was good but I was convinced I could do better. Well not me exactly but rather the people that spend time building this great software and not better exactly but more suitable for my skills and mastery of point and click.
So along comes Chef. Chef was EASY. Really easy. I felt like I flew through setting up my cookbooks and the interface made me very happy as I could show off not only my pointing and clicking skills to my colleagues but also my dragging and dropping capabilities. Chef soon replaced puppet in our network and things were smooth sailing until the day. I call it slow Thursday.
Slow Thursday started out normal enough. Until about 3pm when suddenly the alerts started coming in “Server 1 slow response”, “Server 10 slow response”, etc. All my servers under Chef were replying dreadfully slow or even not at all. Now, not being a real admin I didn’t exactly put two and two together and get 4. No, instead I spent until about 4 trying to figure it all out. It was only when I decided to kill Chef on one of the servers(with the intention of restarting it) only to get an immediate speedup did I realize the culprit. Chef was killing my servers. I restarted the client on the server and it went slow again shortly after. So I started looking at the server. After much Googling and hmmm and thinking and restarting of all chef related servers I finally just restarted the whole server and started chef on it again. Everything on the clients went back to normal.
That was weird I thought no big deal though until it happened again, and again. Now Chef is still new software so I should and did expect some glitches and this was fine. It just ment I couldn’t use it at the present time to manage my servers. I still use it for the most important task the initial configuration.
Scorecard time:
Puppet
[CON] Hard for a newbie like me to configure and manage(I’ve heard good things from more experienced users though)
[PRO] Seemed solid while we ran it
[PRO] Easy to monitor with Nagios thanks to existing scripts
[PRO] Book exists!
Chef
[PRO] Cool interface
[PRO] Lots of easily found cookbooks
[PRO] Easy for a newbie to create cookbooks
[CON] Still has some stability issues
End result: Tie!
Seriously though they are both great pieces of fairly young software. Many thanks to all the developers on both projects for taking the time to make my life a heck of a lot easier. I look forward to them both maturing further over the years and getting to use them time and time again.
October 26th, 2009 at 6:21 pm
Thanks for this, it’s nice to see people do comparisons.
October 27th, 2009 at 1:17 pm
[...] http://shawnonthe.net/2009/10/26/chef-shawn-by-day-puppet-master-by-night/ a few seconds ago from xmpp [...]
February 25th, 2010 at 3:07 pm
Thanks for feeding back your experiences on both Puppet and Chef. You might be interested in this comparison article I wrote (rather slanted towards Puppet, since I know that very well and have used it for years, and am only a beginner with Chef):
http://bitfieldconsulting.com/puppet-vs-chef
Your point that an excellent book (James Turnbull’s Pulling Strings With Puppet) is available is one that I missed, and it does make a difference. When you’re trying to get up to speed with a complicated new tool, having the book is a real godsend.
August 20th, 2010 at 10:48 am
I like your site.