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
Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator
Friday, February 14, 2025
What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Defining Your Paranoia Level: Navigating Change Without the Overkill
Friday, February 14, 2025
We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy
5 ways AI can help with taxes 🪄
Friday, February 14, 2025
Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help
Recurring Automations + Secret Updates
Friday, February 14, 2025
Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
The First Provable AI-Proof Game: Introducing Butterfly Wings 4
Friday, February 14, 2025
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%
GCP Newsletter #437
Friday, February 14, 2025
Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers
Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰
Friday, February 14, 2025
Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from
The Great Social Media Diaspora & Tapestry is here
Friday, February 14, 2025
Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great
Daily Coding Problem: Problem #1689 [Medium]
Friday, February 14, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,
📧 Stop Conflating CQRS and MediatR
Friday, February 14, 2025
Stop Conflating CQRS and MediatR Read on: my website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your