Architecture Weekly #151
Architecture Weekly Issue #151. 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.
System Design Course
Looking to advance your system design skills further? I've got a Business Oriented System Design Course to help you! The Cohort #3 is running now, so you can sign up for the next one starting end of January. Follow this page: https://vvsevolodovich.dev/business-oriented-system-design-course/
Highlights
Books to read in 2025 as Software Architect
Books is the best source of knowledge. New Year means a new plan for reading: I picked up the 12 books I personally decided to read in 2025. See if you find the list useful!
#reading
Snapshot Isolation vs Serializability
Isolation level in databases are a crucial element avoid troubles like reading uncommited data in databases. But do you understand the exact difference between Snapshot Isolation and Serializability levels? A magnificent explanation from Marc Brooker.
#db #performance
Visualizing SQL Plan Execution Time
SQL query plan execution is actually a normal program execution as well. It means that you can apply flamegraphs to sql plans too, which is especially useful with long plans. Tanel Poder an original piece in 2018, but also provided a follow-up article which is accessible by the link in the post update.
#db #performance
Follow-Up
Alerts with Clickhouse for a Startup
I am a fan of frugal approch. Clickhouse is frequently used for timeseries data, which all observability is, despite the difficulties with getting proper tooling for alerting. Well, this article will give you the self-made tools for an MVP alerting with Clickhouse.
#observability
How to actually migrate complex systems in infrastructure
There is unlimited number of ideas how to migrate complex systems: like going from a monolithic application to microservies in Kubernetes or going from Python 2 to Python 3. Kyle argues that they are all terrible; however there is a sane way to do it. Read it here.
#migration
Cognitive load is what matters
Have you ever wondered why Separation of Concern Principle is so profound? The answer is rooted deep insight the human biology. Turns out that we as humans can not hold more than 5-7 items in our working memory at the same time. Complexity of the software is thousands times harder and the only way we still can create it is by abstraction and concern separation. Read how you can reduce the cognitive load in the software by examples.
#systemdesign
Revisiting Compute Scaling
Yelp used Clusterman for scaling the Kubernetes pods up and down, but discovered it was not flexible enough, so they decided to migrate to Karpenter instead. Find out how they performed the migration!
#kubernetes #scalability
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!