Architecture Weekly Issue #114. 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
Evolution of SoundCloud Architecture: Final part ๐ทโโ๏ธ
Software Architecture in a successful business must undergo changes as the world changes around and business needs and priority do too. In this post you will find a final part of the evolution of SoundCloud overview covering the introduction of Backend-For-Frontend pattern and Value-Added Services. ย
#casestudy #architecture
Best Tools to Visualize your Terraform ๐ผ
When we speak about documenting software architecture, we usually think about manually created diagrams, either drawn in WYSIWYG, or done as code. But with IaC we already have the code for the infrastructure, then why not get a documentation out of it! Grab the list of tools to do that.
#documentation #iac
Building a Music Recommendation System with Milvus ๐ค
Ever wondered how Apple Music, Spotify or YouTube Music create recommendations for you? Igor Gorbenko showcases the system for creating and refining the music recommendation using a vector database called Milvus.
#ML
Follow-Up
How do distributed databases handle secondary indexes ๐ค
Primary indexes are used for sharding; however when you need to search for something without knowing the primary key, secondary indexes help. There are at least 4 strategies of working with secondary indexes in distributed databases, and guess what: this article will get you through them depicting pros and cons and mentioning the databases which use a particular strategy.
#db #distributedsystems
Optimizing Postgres Column Order ๐ค
Performance tactics include a lot of design decisions, like caching, using CDN and indeed organizing data. A more obscure and unobvious optimization aligned with the data design comes from the data alignment on the disk level. Find out how you can save up to 20% of disk storage by simply... reordering the columns!
#db #performance #cost
Consuming a Kafka Topic is Easy, Isn't It? ๐ทโโ๏ธ
Kafka is an essential part of many real-world systems. So it should be quite obvious how to reliably consume a kafka topic. However, the topic is not so easy. Managing offsets, proper error handling and other issues require elaboration. That's why grab the article!
#kafka
Should Terraform be applied before or after merge ๐ผ
With Infrastrcture-as-Code there is a question when the changes should be applied - after getting merged to the main branch or before that. This article consider pros and cons of both strategies and provides recommendation of a mixed approach depending on criticality of the target environment.
#iaac
How browsers work ๐ทโโ๏ธ
Once I was interviewing at Amazon, and they asked what happens when you type in the URL in the browser. Indeed, I was able to tell about the DNS queries, caches, TLS handshake, html loading and DOM tree building. Find an extensive page explaining all of those steps and some more!
#performance
WARNING ๐บ๐ฆ
The brutal and unjustified war against Ukraine continues already 2 years. If you want to help Ukraine directly visit this fund.
Big thanks to Nikita, 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. They receive early access to the articles, influence the content and participate in the closed group where we discuss the architecture problems. They also see my daily updates on all the things I am working on. Join them at Patreon or Boosty!