Published: July 2014
Is your Ruby on Rails application having growing pains? This book will teach you a simpler way to scale Rails codebases. Instead of introducing new patterns or service-oriented architecture, learn to use discipline, consistency, and code organization to make your application grow more gently. Instead of installing yet another gem, learn to use the tools built into Rails that you already know and love to accomplish your goal.
Distilling more than seven years of work experience with Ruby on Rails, Growing Rails Applications in Practice is packed with actionable techniques that every developer can apply today.
This work was written and produced entirely by the author. We are proud to be distributing it.
This book explores low-ceremony techniques to scale large Rails applications. We’ve divided the book into three parts:
In “New Rules for Rails,” we start by unlearning bad Rails habits and introducing design conventions for controllers and user-facing models. By being consistent in our design decisions we can make it easier to navigate and understand our application even as its codebase grows.
In “Creating a System for Growth,” as we implement more and more requirements, all that code has to go somewhere. If all we do is add more lines to existing classes and methods, we end up with an unmaintainable mess. In this part we show how to organize code in a way that encourages the creation of new classes, which in turn enhances comprehensibility and maintainability.
In “Building Applications to Last,” we show how to think about future maintenance when making decisions today. We make a case for adopting new technologies and patterns with care, and for taking full responsibility for those techniques and technologies that we do choose to adopt.
Growing Rails Applications in Practice is packed with actionable techniques every Rails developer can apply. Take back control of your code today!
How we got here
The myth of the infinitely scalable architecture
How we structured this book
New rules for Rails
Creating a system for growth
Building applications to last
Henning Koch is a co-founder and the CTO of makandra, a Ruby on Rails consultancy in Germany. In the rest of the world, makandra is mostly known for Rails LTS, a commercially supported fork of Ruby on Rails. After increasingly failing to stay out of management at makandra, Henning secretly moonlights as a developer for Holly.
Thomas Eisenbarth has spent a decade building and operating things for the Web in multiple languages and frameworks. Thomas is a co-founder and the CEO of makandra. Since 2009 makandra has developed, maintained, and operated a large number of web applications, many of which Thomas has worked on as a lead developer.
Published: July 2014