small medium large xlarge

Deploying Rails: Automate, Deploy, Scale, Maintain, and Sleep at Night


Cover image for Deploying Rails

Deploying Rails

Automate, Deploy, Scale, Maintain, and Sleep at Night


Today’s modern Rails applications have lots of moving parts. Make sure your next production deployment goes smoothly with this hands-on book, which guides you through the entire production process. You’ll set up scripts to install and configure all the software your servers need, including your application code. Once you’re in production, you’ll learn how to set up systems to monitor your application’s health, gather metrics so you can stop problems before they start, and fix things when they go wrong.

For Rails 3

Customer Reviews

As a systems administrator turned developer I was encouraged to see this book being released. It shows the ideal marriage of the systems administration mindset, with its relentless focus on automation and monitoring, with the tools available to the modern programmer. In some circles this practice is called DevOps, but even in shops that keep these two separate, this book will benefit both teams.

- Sean’s Obsessions

Deploying Rails will help you transform your deployment process from brittle
chaos into something organized, understandable, and repeatable.

- Trek Glowacki

Independent Developer

Covering such a wide range of useful topics such as deployment, configuration
management, and monitoring, in addition to using industry-standard tools following
professionally founded best practices, makes this book an indispensable
resource for any Rails developer.

- Mitchell Hashimoto

Lead developer, Vagrant

Targeted for the developer, Deploying Rails presents, in a clear and easily understandable
manner, a bevy of some of the less intuitive techniques it has taken me
years to assemble as a professional. If you build Rails apps and have ever asked,
“Where/how do I deploy this?” this book is for you.

- James Retterer

Senior software engineer, Getty Images

See All Reviews

About this Title

Pages: 240
Published: 2012-07-20
Release: P1.0 (2012-07-17)
ISBN: 978-1-93435-695-1

Deploying Rails takes you on a expertly guided tour of the current best practices in Rails deployment and management. You’ll find in-depth explanations on effectively running a Rails app by leveraging popular open source tools such as Puppet, Capistrano, and Vagrant. Then you’ll go beyond deployment and learn how to use Ganglia and Nagios to monitor your application’s health and gather metrics so you can head off problems before they happen.

You’ll start out by building your own virtual environment by writing scripts to provision a production server with Vagrant and Puppet. Then you’ll leverage the popular Rails deployment tool Capistrano to deploy an application into this infrastructure. Once the app is live, you’ll monitor your application’s health with Nagios, and configure Ganglia to collect system metrics. Finally, you’ll see how to keep your data backed up, recover data when things go wrong, tame your log files, and use Puppet to automate everything along the way.

If you’re a Rails developer who wants a better understanding of the needs of a production Rails system, if you’re a system administrator who wants to manage a Rails application, or if you’re bridging the gap between development and operations, this book will be your roadmap to successful production deployment and maintenance, whether your application has ten users or ten million users.

For Rails 3

What You Need:

The exercises and examples are most suited to a computer running some Unix variant, such as Mac OS X or Linux. But a Windows machine running Linux in a VirtualBox virtual machine is also sufficient.

We’ll show you how to set up a local virtual machine for your deployments; you won’t need a dedicated server to hone your deployment skills. We expect you to have a basic familiarity with the Ruby programming language, the Ruby on Rails framework, and the Unix command line.

Contents & Extracts

Full Table of Contents


  • Introduction
  • Getting Started with Vagrant excerpt
  • Rails on Puppet
  • Basic Capistrano
  • Advanced Capistrano excerpt
  • Monitoring with Nagios excerpt
  • Collecting Metrics with Ganglia
  • Maintaining the Application
  • Running Rubies with RVM
  • Special Topics
  • Bibliography


Tom Copeland is also a Rails developer at LivingSocial. He has programmed in Ruby since 2004, consulted at InfoEther on Ruby on Rails applications since 2007, and received a “Ruby Hero” award in 2008. Before focusing on Ruby, he wrote two books on Java programming (PMD Applied and Generating Parsers with JavaCC) and was named Oracle’s “Open Source Developer of the Year” in 2003.

Anthony Burns is a professional Ruby and Rails developer at LivingSocial. Prior to LivingSocial, he worked at InfoEther, a Rails consultancy, where he handled deployment and infrastructure for various clients.