[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

    Architecture & Process Review

    Built a serverless app on AWS, but struggling with performance, maintainability, scalability or DevOps practices?

    I can help by reviewing your codebase, architecture and delivery processes to identify risk areas and their causes. I will then recommend solutions and help you with their implementation.

    Learn more >>

    🪲 Testing Audit

    Are bugs in production slowing you down and killing confidence in your product?

    Get a tailored plan of action for overhauling your AWS serverless app’s tests and empower your team to ship faster with confidence.

    Learn more >>