[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.

  • 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

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.

    View Emails Archive

    ☎️ Serverless Clarity Call

    Need quick guidance on a specific issue on your AWS serverless project? Or just wondering where to start with serverless?

    Book a call and ask me anything.

    Learn more >>

    🛫 Serverless Launchpad

    Ready to start building your new AWS serverless project but need help with getting everything setup?

    The Serverless Launchpad is a done-for-you DevOps service installed in under a week. You get a leading-practice multi-account AWS environment, a scaffolded codebase and architecture including the common AWS serverless services, isolated cloud environments for individual developers, automated delivery pipelines right through to production and much more. Everything is IaC, extensively documented and handed over to your developers.

    Learn more >>