(2020-04-08) Dhh The Majestic Monolith Can Become The Citadel

DHH: The Majestic Monolith can become The Citadel. The vast majority of web applications should start life as a Majestic Monolith

And the vast majority of web applications will continue to be served well by The Majestic Monolith for their entire lifespan.

Even so, there may well come a day when The Majestic Monolith needs a little help

That next step is The Citadel, which keeps the Majestic Monolith at the center, but supports it with a set of Outposts, each extracting a small subset of application responsibilities. The Outposts are there to allow the Majestic Monolith to offload a particular slice of divergent behavior, either for organizational or performance or implementation reasons.

One example at Basecamp of this pattern was our old chat application Campfire.

We didn’t try to carve the entire app up into little services, each written in a different language. No, we just extracted a single Outpost. That’s a Citadel setup.


Edited:    |       |    Search Twitter for discussion