The 80% abstraction
Why do large systems become monolithic, and what should we do about it? Let's explore how the 80/20 'Pareto Principle' applies to software development, and use the same method to refactor the monolith.
Why do large systems become monolithic, and what should we do about it? Let's explore how the 80/20 'Pareto Principle' applies to software development, and use the same method to refactor the monolith.
This was Gusto's system graph. Each of the black rectangles you see here is a subsystem within Gusto's biggest Rails monolith, and the red arrows are where one subsystem talks to another. As our business grew, folks started
Upgrading Rails can often be difficult and risky! I'll be walking through the process my team took to safely upgrade to Rails 7.0. While this is going to be relatively Rails and Ruby specific, I hope you can take away something for software you are upgrading.
My team recently embarked on a journey toward unbundling our part of Gusto’s monolithic Ruby on Rails app. A monolithic app is a single application that contains code across many domains. The boundaries are unclear. The domains