If Devs Own Testing, Ops Owns the Environment

by on July 25, 2013 · 0 comments

The devs are all writing automated tests and some are even experimenting with TDD. Congrats! But what happens when the build server breaks? Who’s taking care that Continuous Integration is running smoothly? Seems to be an awful lot of red in there…

Unlike writing the first basic tests, CI is hard. Did the test fail due to an application bug or is it the environment? Once again, the dreaded chant of “it works locally” is taken up. What most people fail to understand is that the failing test is the first sign of a communication breakdown between developers and sysadmins.
[Read more...]

How to set up wordpress on ec2 using puppet and git

by on March 29, 2012 · 0 comments

Having started out on a Joyent appliance, migrating to Linode, and, finally, to Amazon with a Bitnami stack, we noticed the common pain of manually configuring each of these environments. Bitnami caused us an even bigger headache by being very difficult to update (apt-get doesn’t update the bitnami wrapped AMP stack). We decided to get full control of our box by setting up a stock Debian LAMP stack on AWS using Puppet and git to manage our sites. Here’s a gentle introduction on how we did it.
[Read more...]

The State Of DevOps

by on December 13, 2010 · 0 comments

This is a guest post by James Turnbull (@kartar)

The first two guys I worked for in Ops jobs were old school mainframe guys. Both of them were kind of rough around the edges. Both heavy smokers who liked a drink and who been around before there were PCs, thought client-server was a passing fad and loved their Big Iron. Serious conversations often weren’t conducted in the office clustered around a green screen. They took place outside or downstairs in the car park with all of us sucking back tobacco smoke and shooting the breeze. They valued process, documentation, repeatability and above all else reliability.
[Read more...]

Sprinkle – Automated Infrastructure for the Rest of us

by on November 26, 2009 · 5 comments

Automatically setting up and maintaining my servers is a must for me. Only if everything I install and configure on a server is scripted I’m sure I know what’s there and that it stays that way. Having automated infrastructure enables me to schedule a critical setup change at 3 am and be on the safe side even though my brain might already be half asleep. After having written a ton of capistrano tasks (and creating a mess with it), looking into puppet and chef, writing my own tool (carpet), my colleague finally gave Sprinkle a try.
[Read more...]

Puppet or Capistrano – Use the Right Tool for the Job

by on January 25, 2009 · 7 comments

This is a guest post by Andrew Shafer, who is part of Reductive Labs, the people behind Puppet. Reductive Labs is helping people build better systems with better tools and processes. Andrew has been on several Agile software teams in various capacities for the past few years, and has a passion for applying Agile principles to operations processes.

First I’d like to thank Matthias and Dan for their insights on Agile Web Operations and for giving me the opportunity to post as a guest.

Choosing Your Weapon

Puppet or Capistrano appears to be a reoccurring question for many and I hope my opinion might shed practical light on the topic. In my mind, the question is a bit like asking a carpenter if one should use a hammer or a saw. Use an appropriate tool for the job at hand.
[Read more...]

Visible Ops: If At First You Don’t Succeed, Build, Build Again

by on October 12, 2008 · 2 comments

By now you should have a better understanding of how your data center is setup and exactly what’s all in there. You’ve been carefully monitoring changes to this environment and are ready to take it to the next level. The “Visible Ops Handbook” introduces the concept of “production fuses” : when things go wrong with a fuse, you don’t try to repair it; instead, you simply replace it with a working one right out of the package. Not only does this require less downtime, but you can be pretty sure that the new fuse will work as expected (and not accidentally burn down your entire home!). Your confidence in the correct functioning of the new fuse is directly related to how well you’ve been monitoring changes on that production fuse. If some engineer has made undocumented fixes or “improvements” to it (which is probably what caused it to short out to begin with), then the pre-fabricated fuse you replace it may cause unintentional side effects and further headaches. Replacing instead of fixing is what all high-performing organizations do, giving them high server to sysadmin ratios, less unplanned work, and the ability to maintain manageable system configurations.
[Read more...]

Visible Ops: Setting Up Your Configuration Management Database

by on September 30, 2008 · 2 comments

The next step to get a better grip on your environment is figuring out exactly what kind of production configurations you have running out there. If you’ve ever caught yourself walking through the data center and wondering just what in the hell those servers in the back corner are for, this phase will be quite the eye-opener. Now that you have changes to this environment under better control you can start to invest some time in assessing what you actually have.

“Catch & Release”

[Read more...]

Puppet vs. Capistrano – a short comparison

by on September 10, 2008 · 10 comments

We’re currently using Capistrano not only to deploy our Ruby on Rails application, but also to setup and manage our physical and virtual (Xen based) servers. We have Capistrano recipes for adding users, installing packages like apache or mysql, configuring a Xen VM and more. Coming accross puppet, I started to wonder about the essential difference between the two. Puppet claims to enable the user to automate server management to a large extent, a goal which we already reached by implementing our custom Capistrano recipes. So, what are the differences between the two?
[Read more...]