Architecture Weekly #89 - 22nd August 2022
Welcome to the new week! I just published all of our Architecture Weekly webinars. #1 - From CRUD to Event Sourcing In the first one, I showed journey from CRUD to Event Sourcing. I explained the strategies and showed practical examples using TypeScript and NodeJS applications. Of course, the focus was on explanation, not technical details, so even if you’re not much into those technologies, you should understand how to do it in your favourite one. #2 - Keep your streams short! Or how to model Event-Sourced systems efficiently In the second one, I showed why keeping streams short is essential in Event Sourcing. I explained how to find and model entities’ lifetime and reflect that in streams. By watching it, you’ll learn the foundations of stream modelling, also why snapshots are (in general) bad practice and why you should think about events archiving strategy. #3 - Implementing Distributed Processes The third one was a collaborative approach. We started by modelling the big picture of the hotel guests’ group checkout process. We discussed the challenges and different strategies and went to see the nuances of the implementation. It was the longest webinar so far (1:40h), giving a decent understanding and foundations to implement it in your system. In the next one, we want to follow that approach and crunch again new topic chosen by the community. We’re thinking about the next modelling session or even mob programming. If you are paid subscriber, you can watch them now; if not, you can check a sneak peek and make up your mind and sign in. Besides webinars, we have a vibrant Discord channel with decent architecture discussions. That’s not all of the material to watch from me this week. Accidentally last Wednesday became Marten’s International Day. I did the talk Pragmatic Event Sourcing in .NET With Marten at the JetBrains Youtube. In a nutshell, I aimed to show Event Sourcing to prove that it’s not as hard as it’s pictured. I showed how to cut the boilerplate and the number of layers to a bare minimum. Did I succeed? Check on your own! Jeremy talked at the .NET DC user group, showing Event Sourcing and CQRS with Marten. I like that even though our topics were similar things, but looked at them from different angles. Jeremy also showed how Jasper integrates with Marten neatly, giving you the effortless CQRS. I think that watching them both should give you a good understanding of Marten and how you can benefit from using it in your application. In general, that’s also 3 hours of free Event Sourcing and CQRS training. For free is a reasonable price, isn’t it? We love to keep our code but love to throw away someone else. Sometimes that's far; quite often subconscious. Primarily working in legacy software, going straight to refactoring may not be the best you should do. I wrote in my last article on the keep vs change decision, explaining the connection with the British writer from the previous century. Read more in: What do the British writer and his fence have to do with Software Architecture?. Making an architectural decision is always challenging; making them about the product is even harder. I saw in my past projects where wrong priorities or not checking the assumptions with the client ended up with collapse. Architecture choices should not be made in a vacuum; they should reflect the product’s needs. Even the best implementation with wrong business assumptions will be just great but useless code. Read more on how to shape your system responsibilities right in: Plus, what may happen if you follow too much of the buzz with your decisions: You can inspire by others’ decisions by, for instance, checking what giants are choosing and why: Still, you should think for yourself and question authorities. Especially self-proclaimed ones: As men in this industry, we have a long way to make it a safe, accessible place for women as it was initially. Not being a jerk is not enough to change the current state. And Now for Something Completely Different. I’m extremely intrigued by the idea of running WebAssembly on the server. Its higher and more thought security sandbox concept can be a good alternative for classical containers. It also allows you to write in your favourite language, which will be compiled to unified runtime. What’s an example of that? For instance, messages (e.g. events), pipelines or transformations. I’m thinking about writing a lightweight outbox pattern tool that would give users options to plug their transformation functions. Many other people do even crazier stuff. Postgres run on web assembly? Sure! Containers on a web page? Not an issue! See more: Check also other links! Cheers 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 Red Cross, the Ukraine humanitarian organisation. You may also consider joining Tech for Ukraine initiative. Architecture
Distributed SystemsDevOpsDatabasesFrontendTestingHardwareAzureClojureJavaScript.NETRustScalaCoding LifeSecurityTriviaYou’re a free subscriber to Architecture Weekly. For the full experience, become a paid subscriber. |
Older messages
Webinar #3 - Implementing Distributed Processes
Monday, August 22, 2022
Watch now (100 min) | Distributed processes with an event-driven approach embrace the impossibility of the two-phase commit in distributed transactions. Instead of trying to make a big transaction
Architecture Weekly #88 - 15th August 2022
Monday, August 15, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
Architecture Weekly #87 - 8th August 2022
Monday, August 8, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
Architecture Weekly #86 - 1st August 2022
Monday, August 1, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
Architecture Weekly #85 - 25th July 2022
Monday, July 25, 2022
Architecture Weekly - links and resources to boost your knowledge and developer skills!
You Might Also Like
📧 Working with LLMs in .NET using Microsoft.Extensions.AI
Saturday, January 11, 2025
Working with LLMs in .NET using Microsoft․Extensions․AI Read on: my website / Read time: 6 minutes The .NET Weekly is brought to you by: Transform your database performance with RavenDB:
iOS Dev Weekly – Issue 694
Friday, January 10, 2025
Hopefully you won't see that much difference with receiving this issue, but it's ALL CHANGED behind the scenes! 😱
Daily Coding Problem: Problem #1664 [Easy]
Friday, January 10, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Twitter. A permutation can be specified by an array P , where P[i] represents the
Spyglass Dispatch: The Case for a For-Profit OpenAI
Friday, January 10, 2025
RIP Venu • A More Political and Real Time Threads • An OpenAI Auction • Apple's Tough 2025 The Spyglass Dispatch is a newsletter sent on weekdays featuring links and commentary on timely topics
⌨️ 10 Mods to Improve Your Mechanical Keyboard — How to Set Up Quick Share on Windows
Friday, January 10, 2025
Also: Why Are Tech Companies Trying to Sell Me Expensive Clocks? How-To Geek Logo January 10, 2025 Did You Know Famed biologist Charles Darwin and US President Abraham Lincoln were born on the same day
Your best friends in design
Friday, January 10, 2025
Working With Designers Product manager & UX designer collaboration guide. How members of your product team work together is just as important as the work itself. A fundamental relationship within
Charted | How Canada Would Rank as the 51st State 📊
Friday, January 10, 2025
Donald Trump has floated the idea that Canada should be the 51st state. Here's how it compares statistically. View Online | Subscribe | Download Our App Presented by: Global X ETFs Power AI's
Pinpointing The Actual Problem 🎯
Friday, January 10, 2025
WordPress accidentally diagnoses its own business problem. Here's a version for your browser. Hunting for the end of the long tail • January 10, 2025 Pinpointing The Actual Problem A blog post from
😱Major Azure Outage in EastUS2, 🚀New AI and Azure Developer CLI Courses, azureedge.net DNS retiring
Friday, January 10, 2025
͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
iOS Cocoa Treats
Friday, January 10, 2025
View in browser Hello, you're reading Infinum iOS Cocoa Treats, bringing you the latest iOS related news straight to your inbox every week. Adopting Swift 6 across the app codebase I've been