In April 2012, I started giving a talk called Decomposing applications for deployability and scalability. It discusses the benefits and drawbacks of decomposing a monolithic application into a collection of independently deployable and scalable services and explores various design issues that then need to be addressed.
I’m publishing the reimagined transcript of the talk as a series of articles on this blog. Part 1 in the series described the limitations of a monolithic architecture. In Part 2 (PDF), I look at the benefits and drawbacks of decomposing a monolithic application into a collection of independently deployable and scalable services. Part 2 introduces the scale cube, which is a three dimensional scaling model, and describes the impact of applying Y-axis splits (a.k.a. functional decomposition) to a system.
Hey Chris,
Nice blog! I’ve been working on the same stuff (as I think I told you last time we met) — We’ve managed to decompose a huge application into parts and it’s working great. We should catch up some time and compare notes.