Pages

Thursday, February 12, 2009

Deploying Rails Applications: A Step-by-Step Guide


Product Description

First you'll learn how to build out your shared, virtual, or dedicated host. Then, you'll see how to build your applications for production and deploy them with one step, every time. Deploying Rails Applications will take you from a simple shared host through a highly scalable clustered and balanced setup with Nginx.

See how to tell whether you've bought enough firepower, and learn how to optimize your Rails projects applications in a systemic, rational way. Take advantage of advanced caching techniques, and become and expert with the latest servers in Nginx and Mongrel. Don't worry. You'll get a dose of Apache too.

Not only will you learn how to configure your production environment, you'll also see how to monitor it with free, automated tools that can restart your servers when the memory use gets too high for comfort. You'll see how to take a performance baseline, profile for bottlenecks, and solve the most common performance problems you're likely to see.

You'll learn:

Everything from source control and migrations to Capistrano, rake tasks and beyond.

Directly from authors who run EngineYard, one of the best Rails hosts in the business.

How to deploy your applications to multiple production servers with a single command using Capistrano.

How to setup a Rails/Nginx/Mongrel cluster for applications with high scalabilty needs.

...and more!

Product Details

* Amazon Sales Rank: #233440 in Books
* Published on: 2008-05-07
* Original language: English
* Number of items: 1
* Binding: Paperback
* 280 pages

Editorial Reviews

About the Author
Ezra Zygmuntowicz is a co-founder of EngineYard.com, a scalable Rails hosting service. He is the author of the Rails Deployment book for the Pragmatic Programmers and has contributed many open source Ruby and Rails related projects such as BackgrounDrb, ez-where, Rubinius and Merb. He is a speaker at The Rails Edge, the 2006 & 2007 RailsConf and the 2007 SDForum Ruby conference as well as The Ruby HoeDown and RubyEast. He has been working with Ruby for over 4 years now and picked up Rails in the summer of 2004. In his spare time he likes to hack Ruby, Scheme and Erlang and tinker with his vintage 54 VW beetle.

Bruce Tate is a father, kayaker, author and independent consultant in Austin, Tx. He is the author of seven books, including the best selling Bitter series, the Jolt-winning Better, Faster, Lighter Java, the Spring Developer's Notebook, and From Java To Ruby: Things Every Manager Should Know.

Clinton Begin has built a presence in both the enterprise and open source communities. Having consulted as a Senior Developer and Agile Mentor for industry greats such as ThoughtWorks, Microsoft and Stanford University, his experiences have spanned a broad range of business and technical domains. Clinton has applied agile methodologies, open source software, Java, .NET and Ruby to the development of large-scale applications. He is an experienced author, speaker, and has delivered formal presentations and training from San Francisco to New York City.
Customer Reviews

Eh...2
I didn't find this book to be tremendously useful. It includes a section on deploying to Windows (really? are people actually running production Rails systems on Windows?) but omits information on memcached and PostgreSQL clustering (again: are people actually running production systems on MySQL?).

And although it is hard for the authors to avoid this, the book is badly out of date. It talks about setting up Mongrel clusters, while the most preferred practice nowadays is to use mod_rails.

This book could have filled a niche if it took a new approach to synthesizing the information on the Internet, but it doesn't. And because of its very nature, it's bound to get out of date quickly.

Quite useful for Figuring out Capistrano and Mongrel Cluster5
The value provided by this book is quite subtle. It is when you are faced with a task of deploying something you don't quite understand and are uncertain of which way to go.
I had to upgrade the app that I had inherited from Capistrano 1.4.1./Deprec gem 1.9.2 to Capistrano 2.5.0 and was not quite sure of how to go about it. The app also used mongrel clusters that I did not know well.
I realized that I did not quite undertstand how Capistrano worked in the first place. I had many references, all good mind you, but did not fully get it until I sat down with Ezra's book this week-end evening and went through it again focusing on chapters on Capistrano and Mongrels. This time though, I had a sense of purpose, i.e., to get this migration task done. Ezra really has been through many deployments and communicates that knowledge in a very useful and fundamental way.
The next morning, I cleaned up my muddled script and was able to debug it within an hour and deployed it successfully. It is working quite well. Thanks Ezra. Now if you could do a detailed book on Phusion Passenger, I would buy it.
Bharat

High expectations3
I guess because this book was anticipated for so long, the expectation were a bit high. In the mean time I've read loads of information to setup a server on the internet.

Best chapters for me were 8. Scaling out (MySQL clustering was new and interesting) and 9. Performance where you go from a solid base line to the best number of mongrels for your server.