Architecture Weekly

Share this post

Architecture Weekly #118 - 13th March 2023

www.architecture-weekly.com

Architecture Weekly #118 - 13th March 2023

Oskar Dudycz
Mar 13
1
Share this post

Architecture Weekly #118 - 13th March 2023

www.architecture-weekly.com

Welcome to the new week!

Most of us transfer our habits to each new environment, and that’s dangerous. Take Event Sourcing, for example; it’s a storage pattern. What will happen if we take routines from modelling relational databases? Disaster.

Each storage pattern has its practices, relational databases - normalisation, document databases - denormalisation, and Event Sourcing - keeping streams short.

I talked about all of that in my talk at the Domain Driven Design conference last year. It was one of the most talks I’ve given so far, as this is an area that, unfortunately, is an extreme shortage of good resources.


How to handle two commands? or How to change two aggregates in one transaction? are one of the questions I'm asked most often.

The easiest answer is: "you don't". But it'd not only be a douche-like answer but half the truth. Why? Contrary to the common belief presented in the conference talks, we don't have only projects that have to scale.

I tried to cover dos and donts and show the thought process on how to tackle that in my new article:

  • Oskar Dudycz - How to handle multiple commands in the same transaction


Still, we’re not living and breathing, only patterns and practices. Design and planning are essential, but we won’t succeed without proper execution. It’s worth checking how others selected their tooling and analysing their journey and phase. It can give us food for thought on how to prepare our steps. See the journey that Discord went with their storage to support the extreme load they have:

  • The New Stack - How Discord Migrated Trillions of Messages to ScyllaDB

  • Discord - How Discord Supercharges Network Disks for Extreme Low Latency

  • Discord - How Discord Stores Billions of Messages

Have a look also at a decent case study of scaling PubSub to the limits:

  • Manas Chaudhari, Piyush Gupta - Building Pubsub for 50M concurrent socket connections


Finding the title for the talk is always fun; with the talk, I linked above, I’ve made an easter egg setting the longest title I could come up talking about keeping event streams short. Also, some people noticed my posh look, which was a bit unusual, but my friend Yves dared me to look like on my social avatar. I took the challenge.

I’m not sure what was the origin of the title that Greg Young did, but it’s the weirdest title I’ve seen so far. Yet, it’s also one of the best talks I’ve seen about a bi-temporal aspect of our systems and how Event Sourcing fits that. Must watch:

  • Greg Young - The Bizarre Mating Ritual Of The Whipnose Seadevil


Last week we had World International Women's Day. Unfortunately, we still have a big diversity gap in our industry. It’s not as easy to just say, “well, it’s like”. It wasn’t always like that. I feel that we need to do more. Not just for the sake of the greater good but also because diversity makes better teams. The best teams I’ve been to were the most diverse ones. It’s not an accident; diversity builds creativity, a chance to clash ideas, to see different perspectives, and thus come up with better outcomes. Read more in:

  • Lian Buan - Insidious, expensive: The massive, hidden cost of keeping women offline


Yaml doesn’t play well with anything. But it’s even worse in Norway? Why? See:

  • Bramus Van Damme - YAML: The Norway Problem

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

  • Oskar Dudycz - How to model event-sourced systems efficiently

  • Natan Silnitsky - How Wix Accelerated Open Platform Dev with Standardized APIs & Schemas

  • Joel Spolsky - The Law of Leaky Abstractions

  • Greg Young - The Bizarre Mating Ritual Of The Whipnose Seadevil

  • Richard I. Cook - How Complex Systems Fail

  • Michael Feathers - Unconditional Code

  • The New Stack - How Discord Migrated Trillions of Messages to ScyllaDB

  • Discord - How Discord Supercharges Network Disks for Extreme Low Latency

  • Discord - How Discord Stores Billions of Messages

  • Manas Chaudhari, Piyush Gupta - Building Pubsub for 50M concurrent socket connections

  • checkcheckzz - System design interview for IT companies

API

  • eBay - API Evolution Is a Challenge. Could Contract Testing Be the Solution?

  • Fran Mendez - Designing Event-Driven Architectures Using the AsyncAPI Specification

AI

  • Intelligencer - You Are Not a Parrot And a chatbot is not a human. And a linguist named Emily M. Bender is very worried what will happen when we forget this

AWS

  • AWS - Understanding Amazon SQS and AWS Lambda Event Source Mapping for Efficient Message Processing

Java

  • Michael Redlich - JDK 20 and JDK 21: What We Know So Far

.NET

  • Oskar Dudycz - How to handle multiple commands in the same transaction

  • Stephen Cleary - There Is No Thread

  • LEGO - The AsyncAPI.NET SDK contains a useful object model for AsyncAPI documents in .NET

  • Damian Edwards, David Fowler - Why your ASP.NET Core application won't scale

Node.js

  • AVA - Node.js test runner that lets you develop with confidence

Scala

  • Adam Warski - Effects: To Be Or Not To Be

TypeScript

  • io-ts - Runtime type system for IO decoding/encoding

Coding Life

  • Markus Voelter - On the drawbacks of standard templates, process and ceremony

Management

  • Trond Hjorteland - Agile is not working: the IT industry is a “patchwork of contradictions and confusions”

Industry

  • Lian Buan - Insidious, expensive: The massive, hidden cost of keeping women offline

  • The Verge - Microsoft makes Outlook for Mac free to use

  • XDA - HP blocks third-party ink with new firmware update

Trivia

  • Bramus Van Damme - YAML: The Norway Problem

Share this post

Architecture Weekly #118 - 13th March 2023

www.architecture-weekly.com
Comments
TopNewCommunity

No posts

Ready for more?

© 2023 Oskar Dudycz
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing