In this edition I’ve included some of the articles I’ve enjoyed reading this week about Domain Driven Design and Software Architecture, lessons from Slack, Stripe and Klaviyo, a book I’m excited to read once it’s published and some new cloud related open source projects.
Let’s get right into it 💪🏼
Reads of the Week
- When Taylor Swift crashed Ticketmaster
First, we will look at Ticketmaster’s official statement to try to figure out what went wrong from a System Design and architecture standpoint. Then we can work to understand how their engineers are likely working to prevent it from happening again - What Are Problem Space and Solution Space in Domain-Driven Design?
DDD is not a “do-it-once-and-forget-it” methodology. As businesses grow and evolve, so will the subdomains and bounded contexts. What was once a one-to-one relationship may turn into an intricate web of intersecting bounded contexts and subdomains. This is perfectly normal and should be managed rather than avoided. - Modularizing Software: Modular Monolith over Microservices in Domain-Driven Design
What’s the best way to modularize software? As a longtime software developer, I’ve seen the tides shift and a variety of approaches rise and fall. But amidst the talk of microservices, one concept that has always caught my attention is the Modular Monolith, especially when used in the context of Domain-Driven Design (DDD)
Lessons From Giants
- Designing Stripe for Black Friday – How to achieve 99.9999% uptime
Engineering for peak performance through modeling and testing is especially important during the peak shopping season, when eCommerce sites are expected to handle hundreds or even thousands of transactions per second. - Slack’s Migration to a Cellular Architecture
In recent years, cellular architectures have become increasingly popular for large online services as a way to increase redundancy and limit the blast radius of site failures. In pursuit of these goals, we have migrated the most critical user-facing services at Slack from a monolithic to a cell-based architecture over the last 1.5 years. - Domain Decomposition at Klaviyo: Divide to Conquer
There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.
Next book on my radar
Releasing: Early 2024 – The Serverless Book on AWS promises to be packed with practical expertise for building enterprise-scale serverless solutions on AWS. It outlines the serverless adoption requirements in terms of people, mindset, and workloads. It details the architectural patterns, security, and data best practices for building serverless applications. You can read some provisional chapters here
Latest open source projects
cfnupd is a CLI tool written in Rust that provides you with a quick and easy way to update your existing Cloudformation Stacks.
Looks pretty interesting to me 🤔
This cool EC2 instance selector written in go that recommends instance types based on resource criteria like vcpus and memory
That’s a wrap for this edition of Last Week in the ⛅️ Cloud!
Stay curious, stay cloud-inspired.
I’ll be back next week with more exciting news from the ever-evolving cloud universe.
iLyas