Architecture Weekly #169 - 4th March 2024
Welcome to the new week! If you somehow missed it, a reminder to check the last week’s webinar with Andrea Magnorsky about Bytesize Architecture Sessions! If you’re curious how to enhance your system design with a quick design sessions that’s something for you. I called it “a Pomodoro for design workshops”. See the recording! Marten got a new, big, major release! Work on it lasted a few months, and most of the overhaul was made by Jeremy D. Miller. It brought a big improvements around performance, querying, resilience and projection handling. Read more in Jeremy’s blog post: Emmett, my young OSS child, is also spinning its wheels. We just got support for ESDB and integration tests. Check more in the release notes. I’ve been asked if I actually sleep. I do, at least once per night! Jokes aside, we're too often trying to show ourselves as busy bees. Sometimes it's a 21st-century fetish, sometimes it's accidental. In both cases, this can be dangerous as we may be putting pressure on other people who follow us. I wrote a short article on that for you and myself not to forget about that. Too often, people tell me that I'm constantly busy while I'm working less than I did a few years ago. Knowing myself and how mental health is important, I should also look more at not leaving such false impressions as that can cause FOMO for others. If you’re a leader, you should also consider the consequences, e.g., sending emails in late hours, etc. Moving on! Let’s do the roundtrip through the big tech blogs and case studies!
However, while this new setup aims to keep things running smoothly, it makes the system more complex. For the engineers maintaining it, this complexity means figuring out why something went wrong or how to fix it might not be straightforward. While Cinnamon could make Uber's services more reliable for users, it also requires the engineers to navigate through a more complicated system to keep everything in check. This can be fine for the Uber scale, but remember that if you consider applying a similar approach to your scenario. Michał Grabowski wrote on the risk of blindly copying successful architectures. We should take inspiration and analyse it, but always remember to compare our context and evaluate differences. Still, it’s worth knowing the directions and analysing the impact of the decisions. It’s also worth knowing the trends. One of them seems to be cell-based/cellular architecture. Over two months ago, I went through a Slack case study on applying it. Now DoorDash did the same: DoorDash and Slack both adopted cell-based architectures, but their implementations and motivations diverge, reflecting their operational needs. The need for enhanced system resilience and reliability drove Slack's implementation of a cell-based architecture. Following a network outage, Slack introduced a manual traffic management feature that allows engineers to quickly redirect traffic away from affected areas, minimizing user impact. DoorDash addressed the challenge of rising costs due to data moving between different data centres by setting up a system that automatically manages where data goes (based on Envoy and Service Mesh). Essentially, their tech ensures that data stays close to where it's being used, reducing the need to send data over long distances, which can get expensive. This setup helps DoorDash save money by avoiding unnecessary costs. Both approaches have pros and cons. DoorDash introduced automation but also increased the complexity. Slack reduced complexity by semi-automation. While DoorDash automated its process to save costs, Slack's approach lets team members step in quickly to keep everything working right for their users. Cell-based architecture is an intriguing technique and highlights the need to understand where your data is and how you use it. Without that you won’t be able to shard it and put into the cells. Stripe wrote a general explanation of their financial storage: Ledger database. They built their own solution focused on storing and tracking financial data. Stripe's Ledger system, an auditable and immutable log. The setup is fine-tuned for their financial network, and handling complex money movements. That’s critical for maintaining high reliability while processing millions of transactions. There’s an overlap between that and event stores. They both are focused on storing immutable data and its quality. Event Sourcing works well for processes that can be modelled as state machines, and Stripe’s Ledger also makes it a foundational piece. It also allows events notifications, auditability and enhanced tracing (which is crucial for fraud detection etc.). That’s also the main difference between event stores and ledger databases. Event stores are general purpose databases, while ledger focused on financial data semantics. Going down the niche allows domain-specifics optimisation, but also limits the scope of usage. Still, that also proves that Event Sourcing is not as niche as it may seem. Read more: Continuing with the event-driven tooling, tradeoff and how semantics impact the real application, check out David Boyne’s talk, where he goes through the common mishaps and misconceptions around it:
Don’t miss also great write-ups on how to document your software, both the current, past and the intended state:
Check also other links! Cheers Oskar p.s. I invite you to join the paid version of Architecture Weekly. It already contains the exclusive Discord channel for subscribers (and my GitHub sponsors), monthly webinars, etc. It is a vibrant space for knowledge sharing. Don’t wait to be a part of it! p.s.2. Ukraine is still under brutal Russian invasion. A lot of Ukrainian people are hurt, without shelter and need help. You can help in various ways, for instance, directly helping refugees, spreading awareness, and putting pressure on your local government or companies. You can also support Ukraine by donating, e.g. to the Ukraine humanitarian organisation, Ambulances for Ukraine or Red Cross. Architecture
DatabasesTestingFrontendAIJava.NET
WebAssemblyCoding LifeManagementIndustry
SecurityYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Webinar #17 - Andrea Magnorsky: Introducing Bytesize Architecture Sessions!
Tuesday, February 27, 2024
Watch now (90 mins) | We all struggle with too-long meetings, confusing design discussions and analysis paralysis. How can we reason better about our systems in a collaborative way? Does your team
Architecture Weekly #168 - 26th February 2024
Monday, February 26, 2024
Today's leitmotif is revisiting our past decisions. We discussed lessons from 4 years of building and running infrastructure in a startup. Then we went to the discussion around CockroachDB vs
Architecture Weekly #167 - 19th February 2024
Monday, February 19, 2024
We started this time of the semi-philosophical discussions like what's the use case? Are pros and cons the same as consequences? Then we got more to the ground touching unusual topics like end-to-
Architecture Weekly #166 - 12th February 2024
Monday, February 12, 2024
We started with the announcement about Emmett - my new library and smoothly transitioned into the discussion on data governance. Firstly, in event-driven systems, data sovereignty is an issue of
Architecture Weekly #165 - 5th February 2024
Monday, February 5, 2024
We started with the DevOps and Platform approach pitfalls, discussing Charity Majors's take and adding Conway's law into that. Then we reviewed the strategies for architecting multi-region
You Might Also Like
Re: Hackers may have stolen everyone's SSN!
Saturday, November 23, 2024
I wanted to make sure you saw Incogni's Black Friday deal, which is exclusively available for iPhone Life readers. Use coupon code IPHONELIFE to save 58%. Here's why we recommend Incogni for
North Korean Hackers Steal $10M with AI-Driven Scams and Malware on LinkedIn
Saturday, November 23, 2024
THN Daily Updates Newsletter cover Generative AI For Dummies ($18.00 Value) FREE for a Limited Time Generate a personal assistant with generative AI Download Now Sponsored LATEST NEWS Nov 23, 2024
📧 Building Async APIs in ASP.NET Core - The Right Way
Saturday, November 23, 2024
Building Async APIs in ASP .NET Core - The Right Way Read on: my website / Read time: 5 minutes The .NET Weekly is brought to you by: Even the smartest AI in the world won't save you from a
WebAIM November 2024 Newsletter
Friday, November 22, 2024
WebAIM November 2024 Newsletter Read this newsletter online at https://webaim.org/newsletter/2024/november Features Using Severity Ratings to Prioritize Web Accessibility Remediation When it comes to
➡️ Why Your Phone Doesn't Want You to Sideload Apps — Setting the Default Gateway in Linux
Friday, November 22, 2024
Also: Hey Apple, It's Time to Upgrade the Macs Storage, and More! How-To Geek Logo November 22, 2024 Did You Know Fantasy author JRR Tolkien is credited with inventing the main concept of orcs and
JSK Daily for Nov 22, 2024
Friday, November 22, 2024
JSK Daily for Nov 22, 2024 View this email in your browser A community curated daily e-mail of JavaScript news React E-Commerce App for Digital Products: Part 4 (Creating the Home Page) This component
Spyglass Dispatch: The Fate of Chrome • Amazon Tops Up Anthropic • Pros Quit Xitter • Brave Powers AI Search • Apple's Lazy AI River • RIP Enrique Allen
Friday, November 22, 2024
The Fate of Chrome • Amazon Tops Up Anthropic • Pros Quit Xitter • Brave Powers AI Search • Apple's Lazy AI River • RIP Enrique Allen The Spyglass Dispatch is a free newsletter sent out daily on
Charted | How the Global Distribution of Wealth Has Changed (2000-2023) 💰
Friday, November 22, 2024
This graphic illustrates the shifts in global wealth distribution between 2000 and 2023. View Online | Subscribe | Download Our App Presented by: MSCI >> Get the Free Investor Guide Now FEATURED
Daily Coding Problem: Problem #1616 [Easy]
Friday, November 22, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Alibaba. Given an even number (greater than 2), return two prime numbers whose sum will
The problem to solve
Friday, November 22, 2024
Use problem framing to define the problem to solve This week, Tom Parson and Krishna Raha share tools and frameworks to identify and address challenges effectively, while Voltage Control highlights