This is how I started off my New Year – merging the completely refactored code branch into the master. Test coverage was pitiful enough that there was no way we could do a release without a full regression test. Another term near and dear to my heart. I believe full regression testing was actually invented [...]
Capistrano – Utility for executing commands in parallel on remote machines
Capistrano deployment scripts are incredibly flexible and greatly simplify the efforts needed to run scripts on several machines simultaneously. When combined with version control, the entire team can utilize (and maintain) the same tools together.
Scaleability is a term near and dear to a CTO’s heart. It’s also the most important factor in growing a website. If you want to avoid the “fail whale” at right, you have to be able to scale your application to run on hundreds (and, if you’re really lucky, thousands) of servers. Let’s take a [...]
At the end of April, I wrote about how automatic rsyncs were making my operations life a living hell. Enter Summer, vacation, new developer and here we are mid-September before I finally get around to permanently fixing this problem. But, I can’t really blame all of it on life – after Matthias gave me a [...]
Today, I want to walk you through one of the ready-made appliance recipes that comes with Carpet. This article assumes you’ve read the getting started with Carpet guide. Appliance recipes are plain Capistrano recipes which enable you to setup a complete server by just using one of the pre-defined ones like apache_lb, rails_22, memcached or [...]
In my post about Carpet is a re-mix of existing configuration management solutions, I gave you a rough overview of the problems I tried to address with Carpet. In this article, I want to show you how you can set up a complete Ruby on Rails stack with only a few lines of configuration while [...]
Migrating our production environment from debian to OpenSolaris I wanted to simplify our configuration management recipes along the way. What I came up with is a mixture of Puppet style manifests and Capistrano backed ease of use in a new open source project called: Carpet.
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 [...]
As I mentioned in my short comparison of Puppet vs. Capistrano, we’re currently using Capistrano not only for deployment and live monitoring of our application, but also for configuration management. Using How-To Documents For Configuration Management Before getting started with Capistrano, I used to write very detailed how-to documents to make sure that I didn’t [...]
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 [...]

