Architecture Weekly #181

Architecture Weekly Issue #181. Articles, books, and playlists on architecture and related topics. Split by sections, highlighted with complexity: 🤟 means hardcore, 👷‍♂️ is technically applicable right away, 🍼 - is an introduction to the topic or an overview. Now in telegram and Substack as well.

Highlights

Deliver faster than ever 🍼

In 2000s we expected the developer to be proficient with their main programming language. In 2010s we wanted them to know how to use cloud and run systems in prod. What do we expect from engineers today? How speed of execution became superpower of our time? You will find answers in my conversation with Mikhail Druzhinin in this vide.

#video #interview

Moving the public Stack Overflow sites to the cloud

Moving SO to cloud sounded surprisingly to me: first, their engagement rates are declining, second they understand their load model well so bare metal should be cheaper. However team autonomy and other arguments got in place and nudged SO to move. Grab the first part of the series.

Moving the public Stack Overflow sites to the cloud: Part 1 - Stack Overflow

#casestudy

Replacing a cache services with a database 👷‍♂️

A prominent idea seen on x and bluesky is throwing away cache in favor of a read replica. In the end databases cache some data in memory, why not leverage it? Well, there are counter-arguments to this approach and you want to know them.

Replacing a cache service with a database - blag
Why do we use caches at all? Can databases fully replace them?

#performance #caching

Business Oriented System Design Course Cohort #7 is officially open!

Looking for a way to advance your career? Felt you overgrew the mere feature development, but lack skills to design complete systems? This course got you covered. 10 hours of content packed lectures, engaging practice and the final work you will be proud to showcase as well as Credly(by Pearson)-based digital certificate proving your experience. More than 70 engineers already passed the course with amazing feedback and advanced their careers. New cohort starts on 1st of October. APPLY NOW.

Follow-Up

Benchmarking Postgres 👷‍♂️

Picking up a database requires performance testing with your payload according to Alex Petrov. While we don't have a performance model for every use case, we can at least run a test against the popular alternatives with a general one. PlanetScale(obviously bragging about themselves) run such a test which is quite interesting.

Benchmarking Postgres — PlanetScale
Benchmarking Postgres in a transparent, standardized and fair way is challenging. Here, we look at the process of how we did it in-depth

#performance #db

SQL needed structure 👷‍♂️

The profound problem with SQL is the mismatch between stored data and data required by the UI. Jamie explains how you need multiple queries(read: network roundtrips) and demands that sql should be eventually able to yield structured data giving a proposal how it could look like.

SQL needed structure

#sql

Vertical Slices, CQRS and stuff 👷‍♂️

Oskar Dydycz drops another piece showing how Slice Architecture resembles the CQRS approach and how Slice is a good guidance on how to reason about places for coupling.

My thoughts on Vertical Slices, CQRS, Semantic Diffusion and other fancy words
Vertical Slices in software architecture are pictured right now as the best thing since sliced bread. I won’t try to hide that, like it. I’ve written about CQRS and Vertical Slices over the years - how to slice the codebase effectively, shown examples, and explained why generic doesn’t mean simple, yet…I still get questions about Vertical Slices Architecture (VSA). After a recent Discord discussion, I want to share some additional thoughts on how I see Vertical Slices Architecture, how it relates to CQRS, what different slicing strategies are, and (of course) the tradeoffs.

#cqrs

Data engineering and software engineering are converging 👷‍♂️

As we building our new product on data processing, I am naturally interested in developer approaches to data engineering. Luckily Clickhouse drops the inspiration on what makes a good checklist for data engineering borrowing best practices from regular development: git based, local env first, native programming language and many more.

Data engineering and software engineering are converging
Learn the 8 design principals behind MooseStack - an open source developer toolkit for building TypeScript or Python apps on ClickHouse and open-source data infrastructure.

#dataengineering

Practical Diff Testing of Stateful Applications 🤟

Can't leave you without a paper! Murat shares the paper on a great problem on migration of stateful services but discovers in the process that the paper delivers weird results: focusing on single-node setup and latency optimizations instead of multi-node setup typical to Google. Read the paper and listen to Murat annotating the paper live.

Vive la Difference: Practical Diff Testing of Stateful Applications
This Google paper (to appear in VLDB′25) is about not blowing up your production system. That is harder than it sounds, especially with sta…

#paper

Big thanks to Nikita, Constantin, Anatoly, Oleksandr, Dima, Pavel B, Pavel, Robert, Roman, Iyri, Andrey, Lidia, Vladimir, August, Roman, Egor, Roman, Evgeniy, Nadia, Daria, Dzmitry, Mikhail, Nikita, Dmytro, Denis and Mikhail for supporting the newsletter on Patreon!