Architecture Weekly

Share this post

Architecture Weekly #97 - 17th October 2022

www.architecture-weekly.com

Architecture Weekly #97 - 17th October 2022

Oskar Dudycz
Oct 17, 2022
Share this post

Architecture Weekly #97 - 17th October 2022

www.architecture-weekly.com

Welcome to the new week!

There are only a few patterns that I’m comfortable saying: “You should use it always if you want to build mature system”. One of them is the Outbox Pattern. Why? Because it guarantees that your business workflows and communication will not be stuck in the middle. It does that by storing transactionally the state change together with the message you want to publish. So it’s either state change that is recorded, and the message is scheduled to be published, or nothing is recorded. There are various approaches to implementing it:

  • transactional, which wraps the save and publishing with the transaction,

  • pull-based, that continuously queries the database for new messages,

  • push-based, which gets notifications from the database and pushes it forward.

Last week I wrote about how you can implement the last one by plugging into the Postgres Write-Ahead Log. I also provided an example of how you could implement it in .NET. Read more in:

  • Oskar Dudycz - Push-based Outbox Pattern with Postgres Logical Replication


I have a special offer for you!

I'll run an online open workshop with Practical Introduction to Event Sourcing in November. I think that’s a great starting point for you to start your journey, learn the foundations, get hands-on experience, and understand how to apply it in your project.

With Domain-Driven Design Europe, we decided to appreciate that you’re an Architecture Weekly subscriber and give you a 200€ discount! Click this link below and sign up, there are still some spots left, but they’re limited!

  • Show me the offer!


Getting back to Postgres. I’m biased, but I’m also extremely impressed by the number and quality of features the Postgres team delivers. Check the latest release to get the feeling:

  • PostgreSQL - PostgreSQL 15 Released!

Postgres engine is becoming a de-facto lingua franca of relational databases:

  • CockroachDB - distributed and scalable is using it as their engine,

  • same with AWS AuroraDB,

  • Now also Microsoft announced that they’re bringing it to Azure Cosmos DB. That’s the effect of cooperation from buying Citus three years ago.

Seeing the features like extended JSON features we’re using in Marten, mentioned logical replication, and other cool stuff makes it an extremely versatile and rock-solid database. When I started using it for the first time and jumped from MSSQL, I thought, “oh well, free database for sure it cannot compete with paid product”. And I was wrong. MSSQL is already left behind.

Ok, let’s end this love letter. From the other interesting topics, I brought you this time a few reports:

  • Splunk - The State of Observability 2022

  • Digital Ocean - Kubernetes adoption journey for startups and SMBs

  • InfoQ - .NET Trends Report 2022

You always need to be cautious reading the company reports; they’ll always be biased and sprinkled with marketing sugar, but comparing the trends and conclusions, can give you a good picture of the industry trends. Btw. would you like to see my extended analysis about them?

Speaking about trends, check:

  • Netflix - Timestone: Netflix’s High-Throughput, Low-Latency Priority Queueing System with Built-in Support for Non-Parallelizable Workloads

As always, they managed to put a lot of buzzwords in their article.

I’m not a huge fan of the Lex Friedman podcast. CoRecursive is soooo much better. Yet, I cannot deny that he can get great guests there. If you have spare 5 hours, check the episode with John Carmack. A lot of the game, programming and IT industry:

  • Lex Friedman Podcast - John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets

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 Red Cross, the Ukraine humanitarian organisation. You may also consider joining Tech for Ukraine initiative.

Architecture

  • Oskar Dudycz - Push-based Outbox Pattern with Postgres Logical Replication

  • Bret Victor - The Future of Programming

  • Adam Tornhill, Markus Borg: Code Red: The Business Impact of Code Quality - A Quantitative Study of 39 Proprietary Production Codebases

  • Oren Eini - On the critical importance of accepting and working with invalid data

  • Derek Comartin - Event Choreography for Loosely Coupled Workflow

Distributed Systems

  • Netflix - Timestone: Netflix’s High-Throughput, Low-Latency Priority Queueing System with Built-in Support for Non-Parallelizable Workloads

  • Cloudflare - R2 is now Generally Available

  • David Boike - Sure, you can just use RabbitMQ

Databases

  • PostgreSQL - PostgreSQL 15 Released!

  • Microsoft - Distributed PostgreSQL comes to Azure Cosmos DB

  • Gunnar Morling - Open-source Change Data Capture With Debezium

  • Michael Aboagye - Improve database performance with connection pooling

DevOps

  • Splunk - The State of Observability 2022

  • Digital Ocean - Kubernetes adoption journey for startups and SMBs

  • Alex Ellis - Debug GitHub Actions with SSH and launch a cloud shell

  • The Unhandled Exception - Episode 41: OpenTelemetry - with Martin Thwaites

Go

  • Konstantin Makarov - Writing your own PostgreSQL driver

Java

  • Tech School - Config Gradle to generate Java code from Protobuf

  • JWebAssembly - Java bytecode to WebAssembly compiler

.NET

  • Jeremy D. Miller - Marten and Friend’s (Hopefully) Big Future!

  • InfoQ - .NET Trends Report 2022

  • Stephen Cleary - Modern C# Techniques, Part 3: Generic Code Generation

  • Mark Seemann - Refactoring a saga from the State pattern to the State monad

Rust

  • Amos Wenger - Remote development with Rust on fly.io

WebAssembly

  • wasmtime - A fast and secure runtime for WebAssembly

Tools

  • Cassidy Williams - cass.run - My own lil URL shortener

Coding Life

  • Damian Płaza - Software Engineering for busy parents

Trivia

  • Lex Friedman Podcast - John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets

  • The Verge - The iPhone 14 keeps calling 911 on rollercoasters

Share this post

Architecture Weekly #97 - 17th October 2022

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