[Software Engineering Oldletter #3] Majestic monoliths, microservice size and alerting
Every Friday, I’m sharing a short list of evergreen articles/resources broadly related to software engineering that wouldn’t typically get shared in most tech newsletters or social media feeds.
My backlog of articles is running low, so if you have any recommendations, please send them to me.
This week’s links
-
The Majestic Monolith (2016) by David Heinemeier Hansson. A provocative piece railing against the fact that “Having your system described as ‘monolithic’ is usually a point of derision”, arguing that microservices architectures have too much overhead for most small teams. I tend to agree.
“The patterns that make sense for organizations orders of magnitude larger than yours, are often the exact opposite ones that’ll make sense for you. It’s the essence of cargo culting. If I dance like these behemoths, surely I too will grow into one. I’m sorry, but that’s just not how the tango goes.”
-
How Big Should Microservices Be? (8 minute video) (2020) by Sam Newman (my review notes here). To balance out the skepticism of DHH, Sam is one of microservices’ most vocal supporters, writing multiple books on the topic. Here he tackles a pet peeve of mine—the “micro” part—which also expands into a wider lesson on this powerful architectural approach.
“The vast majority of pain, suffering and anguish with microservices is related to the interactions between them. These things become worse, the more you have of them… Think of adopting microservices as turning up a dial — as you turn dial up, you get more of the benefits of them and the opportunity to take advantage of them, but you also magnify all the pain of building them.”
-
Love and alerting in the time of cholera (and observability) (2019) by Charity Majors. This was recommended to me by Chris Scott who summarises:
“What is the proper role of alerting in the modern era of distributed systems? Has it changed? What are the updated best practices for alerting?”
Submitting your recommendations
If you’d like to share an evergreen article/book which has significantly influenced your thinking or practice around software delivery, please email it through to me and I’ll add it to my backlog for sharing in future editions.
Have a great weekend!
— Paul
Paul Swail
Indie Cloud Consultant helping small teams learn and build with serverless.
Learn more how I can help you here.
Join daily email list
I publish short emails like this on building software with serverless on a daily-ish basis. They’re casual, easy to digest, and sometimes thought-provoking. If daily is too much, you can also join my less frequent newsletter to get updates on new longer-form articles.