Architecture Weekly #145 - 25th September 2023
Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free. Welcome to the new week! People fear the wrong state in the event streams while not being afraid of traditional storage. And here's the deal: both may be broken the same way. The difference is that we may not even notice that it's broken in the traditional storage. We'll see that in Event Sourcing because we have tools for that. Event streams, if modelled correctly, can give us explicit details on the current state, why it is like that, and how we got here. In my latest article, I expanded using the hotel housekeeping schedule adjustments as an axis for dealing with the change in Event Sourcing. Change is always hard; I understand that. Not knowing about the bad case can be more blissful than knowing the hard truth. Still, if we don't want to ignore the facts and create proactive systems, then having a clear view is a big benefit that shouldn't be seen as a challenge. Read more: I'm delighted that Derek Comartin is doing the hard work for me so often. In the last few days, I was asked by 3 different people about the Listen to yourself "pattern". It's great that I could link Derek's video and just say ditto: Listen to Yourself is one of those "patterns" that came right from the tooling limitations to work around them and get so popular that they started to be called a pattern. From my perspective, it's mostly anti-pattern as the real usage is limited. It introduces the consistency difficulties that could be handled using the right solutions, like the Outbox pattern or not treating the queue as a database. How do you deal with consistency and handling business workflows properly, then? Yves Reyhnout provided a great answer for that: You rarely see blog articles that show breakthroughs and trigger such in the readers. I was searching independently for the essence of the modelling and explaining how to model asynchronous/distributed processes and straightforwardly implement them. You can see that in: Yet, what Yves provided is a condensed and actionable explanation. Rarely are patterns prescriptive. I’d compare the importance and the impact similar to Jérémie Chassaing's Decider. It’s a must-read for anyone interested in Event-Driven Architecture. One of the conclusions from the previously mentioned articles is that aligning your architecture with the business problem is critical. We see emergent approaches like team topologies and platform engineering. I’m not so gullible to hope that all companies will understand the impact of Conway’s Law and the need to reduce cognitive load. Still, I hope those approaches will be expanded enough to impact our industry more. We’re not Business and IT anymore; now, IT is a Business. Ryan Shriver did an intriguing case study on how you can align your cloud architecture with business: Of course, I’m not a huge fan of the buzzwords like Domain-Driven Cloud. They sound cheesy, but you probably need a catchy term to promote the approach. Still, the article is good. It explains and presents a good framework for how to start your architecture design. It promotes the approach by starting with a logical split based on the business domain, then breaking it down into bounded contexts (modules), thinking about the expected workloads and aligning that with cloud technologies. This article also aligns well with articles I linked in past editions:
It’s important to remember that the cleanness of the approach is not an end goal. The end goal is to deliver software that fulfils business requirements and does that correctly. We should not make rotten compromises around performance just because we want clean code or architecture. Those terms are blank and can be interpreted in numerous ways. Our solutions need to be user-friendly but also machine-friendly. Read more on how to build proper solutions, focusing on the approach's performance and correctness. One of the things that we’re missing in our industry is accountability. We’re too focused on measuring the metrics instead of focusing on the outcome and being accountable for it. Aaron Stannard took the try to describe that challenge: He broke down accountability into three groups:
I think that we should realise that we’re all accountable to someone, and delivering a proper solution is a joint effort of all parts. Of course, building the right process that enables good from people is essential, but we should also not forget to make them accountable. I wrote about that in On the importance of setting boundaries in team management. Read also an interesting interview with Ron DeVera, ex-Twitter (or ex-X…) Staff Engineer. He shares his lessons learned on how to influence the outcome, dealing with difficult coworkers and managing up: Check also other links! 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
DevOpsJavaScriptAIJava.NET
RustCoding LifeManagementIndustry
ToolsSecurityYou're currently a free subscriber to Architecture Weekly. For the full experience, upgrade your subscription. |
Older messages
Architecture Weekly #145 - 18th September 2023
Monday, September 18, 2023
Welcome to the next release, the first one as the Substack Bestseller! As always, you'll find here a set of links that will boost your design skills and architecture knowledge!
Webinar #13 - Yves Goeleven - The Fantastic 9
Sunday, September 17, 2023
Watch now (82 mins) | This time, a special guest Yves Goeleven, showed us Fantastic 9. What's that? Let's give Yves to explain it: There are thousands of design patterns to choose from, but in
Architecture Weekly became the Substack Bestseller!
Sunday, September 17, 2023
Boom, I got this week such a nice picture from the Substack. My Architecture Weekly newsletter appears to have become the Substack Bestseller for getting 100 paid subscribers. It's a nice
Architecture Weekly #144 - 11th September 2023
Monday, September 11, 2023
This release is all about messaging, click to see all 50 shades of it, and also find other resources that'll boost your software architecture skills!
Architecture Weekly #143 - 4th August 2023
Monday, September 4, 2023
Welcome to the new week! Accidental complexity can kill even the best-motivated person. We want to understand and reflect on the business process in the code, but our perspective becomes immediately
You Might Also Like
🤖 Will AI Gadgets Replace Our Smartphones? — 4 Ways to Use Excel in Daily Life
Sunday, May 19, 2024
Also: How to Declutter Your Google Search Results, and More! How-To Geek Logo May 19, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your
Daily Coding Problem: Problem #1446 [Medium]
Sunday, May 19, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a set of closed intervals, find the smallest set of numbers that covers
RD#456 Data Fetching Patterns in Single-Page Applications
Sunday, May 19, 2024
Five patterns to help Single Page Applications fetch data from remote sources
C#506 .NET 9 LINQ Performance Edition
Sunday, May 19, 2024
The team has been working on improving performance
PD#574 Programming like it’s 1977
Sunday, May 19, 2024
128 bytes of RAM, no operating system, and limited types of sprites
Defeating Mouse Lint 🖱️
Sunday, May 19, 2024
How optical mice scrolled past rubber balls. Here's a version for your browser. Hunting for the end of the long tail • May 19, 2024 Hey all, sorry this is running a little late. Last week's odd
Android Weekly #623 🤖
Sunday, May 19, 2024
View in web browser 623 May 19th, 2024 Articles & Tutorials Sponsored Webinar: Compiler Technology vs Wrapper Solutions The right mobile app protection secures apps and SDKs against threats such as
Does AI spell doom for the open web?
Sunday, May 19, 2024
Plus, a proposal for Melinda French Gates View this email online in your browser By Anthony Ha Sunday, May 19, 2024 Image Credits: Google OpenAI and Google both made big announcements this week —
Sunday Digest | Featuring 'Visualizing the Tax Burden of Every U.S. State' 📊
Sunday, May 19, 2024
Every visualization published this week, in one place. Visual Capitalist Sunday Digest logo May 19, 2024 | View Online | Subscribe | VC+ The Best of This Week's Visuals Presented by Voronoi: The
Setapp's alternative mobile App Store & Subconscious winding down
Sunday, May 19, 2024
AI's major alien concept is transparency, Setapp launches alternative mobile App Store, The Happiness Trinity, and a lot more in this week's issue of Creativerly. Creativerly Setapp's