Posts By: Nathen Harvery

MVT: knife test and TravisCI

In my last post, MVT: Foodcritic and Travis CI I described the process for having Travis CI look after your cookbooks and run Foodcritic, the cookbook lint tool, on your cookbook after each git push. In this post, we'll iterate on the "Minimum Viable Test" idea by adding in support for knife's cookbook testing. Wait, I'm already running foodcritic, do I really need to run knife cookbook test, too? I'll use a very simple example to demonstrate that you do....

Read More

MVT: Foodcritic and Travis CI

One of the big themes that emerged during #ChefConf was that we should be testing our infrastructure code. Software engineers have been practicing test-driven development, behavior-driven development, continuous integration, and many other testing-related practices for a long time. It's becoming more important for the infrastructure engineers to learn from and apply these practices to our day-to-day workflow. When it comes to testing Chef-driven infrastructure automation, there are a number of tools and practices that are starting to emerge. In this...

Read More

5 Things You Always Wanted to Know About Chef

When I first started working with Chef, there were a couple of areas that I knew were going to be really awesome and helpful but I wasn't sure how to get started with them. In this presentation, I'll provide a quick introduction to five things you've always wanted to know about Chef but were afraid to ask. I gave this presentation at #ChefConf 2012. Level-up your Chef skills by learning about these areas of Chef:

Read More

The Joy of Cooking - Whip Up a Rails Environment with Chef

You've heard of Chef, Puppet, and other frameworks that can help you build out your infrastructure. You've been meaning to play around with one or more of them for some time now. Now's your chance; Start cooking up on your own servers! In this presentation, I provide an introduction to Chef with a focus on what you'll need to know to get a Rails application up and running. Topics include: Introduction to Chef Nodes, roles, environments, and other terminology Introduction...

Read More

Taming the Kraken - How Operations enables developer productivity

At RailsConf 2012, I gave a presentation on how our web operations team enables developer productivity. There's always a bit of tension when getting features from idea to production. In this talk, I describe some of the changes CustomInk has made to reduce this friction and keep the new features coming. Gone are the days of bi-monthly deploys, office pools dedicated to guessing when this deploy will be rolled back, and the ceremony surrounding the deploy-rollback-fix-deploy cycle. Today, ideas flow...

Read More

Green Screen

Green Screen is a build monitoring tool that is designed to be used as a dynamic Big Visible Chart (BVC) in your work area. It lets you add links to your build servers and displays the largest possible information on a monitor so that the team can see the build status from anywhere in the room. We use Green Screen at CustomInk to look after our continuous integration servers, currently 3 Hudson servers and one Jenkins cluster. We have a...

Read More

Why we chose Chef over Puppet at CustomInk

Not unlike most technology choices, the choice of which configuration management tool to use for managing your infrastructure as code is sure to spark debate among opinionated technologists. There are certainly a number of choices available all of which have their own strengths and weaknesses. There are a number of things to consider as you select a tool.

Read More

Testing mod_rewrite and apache redirects

At CustomInk, we recently migrated from mongrel to Passenger for our Ruby on Rails website. This migration included a full rewrite of our apache configuration files. With over 500 redirect and rewrite rules in place I needed a way to ensure my copy-n-paste skills were up to snuff and that we didn't loose any redirects along the way.

Read More