Architecture Weekly #156
Architecture Weekly Issue #156. 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.
Celebrating 3 years of the newsletter! Hooray!
Disclaimer: there will be no issue next week, as I am taking a short vacation. See you in 2 weeks!
Highlights
New Horizons with Object Storage 🍼
S3 became a cheap, infinitely scalable storage with recently added conditional writes makes it an amazing foundation for modern systems. Joab Jackson show that S3 - not only an AWS service, but rather object storage API - serves as database, Kafka storage, consensus protocol engine and who knows what else.
#cloud
CRDT and ATProto at Roomy 👷♂️
Roomy is a chat application built with ATProto protocol(like BlueSky) for communication. It leverages CRDT via Automerge library for truly amazing offline experience. Find out how it works all together under the hood.
#distributedsystems
Patterns of Legacy Displacement 👷♂️
Whenever you decide you want to migrate legacy software to an old systems, it will always be a challenge. So you need to understand the current situation, come up with new solutions and migrate gradually. Grab a full set of patterns to facilitate that process!
#refactoring
Scaling Architecture at SoundCloud 👷♂️
We already covered the SoundCloud microservices journey in details in the issue #114, but it is always nice to have a summarization from another angle. Find the post describing the journey from a monolith to set of Backend-for-Frontend services and the introduction of Value-Added Service.
#casestudy
Follow-Up
Wise Tech Stack(2025 Update) 🍼
Wise resides right to our Bolt office in Tallinn, we can even look at each other(true story). I found out they dropped a long read on the technologies they use to support 30 millions of their clients across the world. Check them out too!
#casestudy
Revolutionizing software testing: Introducing LLM-powered bug catchers 👷♂️
Mutants are not only mentioned in X-Men movies, but in software development too. To prove your tests are actually doing a good job, we introduce changed behavior - mutants - to see if tests will catch it. But making mutants and corresponding tests is a laborious work, where LLMs can actually help. Checkout the article and a paper.
#quality
Variable-Increment Counting Bloom Filters 🤟
Bloom Filters is a probabilistic approach to find out if the set contains an element. This is useful for performance improvements let's say for searching data in a database. Bloom Filters have some flavours to it which are described in this blog post.
Balancing Coupling in Software Design(Book Interview) | Vlad Khononov 🍼
The interview with Vlad Khononov on Balancing Coupling in Software Design is available on my YouTube channel! Check it out :)
#video #interview
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! If you like the newsletter, feel free to support it there - with one-time support for example!