Architecture Weekly Issue #146. 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
State of Software Architecture Report 2024 🍼
While you have your own set of architecture practices, it is always interesting to look around and see what other architects use. C4 Model, diagrams and microservices style comes with no surprise. In contrary, 40% is still using whiteboards for software documentation. More insight in the Software Architecture 2024 report!
#softwarearchitecture
Predicting the Future of Distributed Systems 🍼
Technology advancements fascinates me a lot - no wonder, given the topic of this newsletter. Just think about it: nosql databases, bigdata, LLMs, cloud computing - tons of pivotal technologies. We should be curios though what the future will unveil for us too. This is what Colin Breck's post about - how object storagea and programming models are going to change the distributed systems.
#vision
Database Internals: Working with IO 🤟
Have you ever write any C code? Do you know the fopen() function? Apparently, the databases use pretty low-level API, but even there you can have a variety of options of how to read and write data to disk. ScyllaDB blog shows them and analyzes the tradeoffs. Great read!
#db
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!
Follow-Up
Provisioning Kafka topics the easy way 👷♂️
Kafka indeed support the auto-creation feature, however it is discouraged by Confluent engineers. Second option is having a script which calls AdminClient to create a topic with the appropriate configuration. But how you that at scale? Zendesk knows the answer: follow their article to understand how their Self Service work for automatic topic provisioning.
#casestudy #kafka
How NoSQL Databases Speed-Up Write-Heavy Workloads 🤟
B-Trees is a great way for the fast data access used by relational databases. However, for write heavy loads this approach can cause latency spikes when the tree has to be rebalanced. That's why we have SSTables and LSM-trees in NoSQL databases. Follow the post for the details!
#db
How Nginx Handles Thousands of Concurrent Requests 👷♂️
Webservers like Tomcat have a separate thread to handle a request. Nginx in turn have a pool of threads listening to incoming events, which better scalable. Check out the diagrams!
#scalability
Compute Comparison Database Founders Interview 🍼
Almost forgot to include this video! I interviewed Atilla and Gergely - the founders of an open-source database which allows you to find out the prices and performance for compute resource in different providers, both big 4 like AWS and Azure, as well as smaller ones like Hetzner. Leave a comment and of course press the like button - it helps to run the channel!
#video #cost
PostNL's Serverless Journey 👷♂️
Finishing the newsletter with a long read about transition to Serverless. I enjoy the cases when the business demand - seasonality and the focus on two-way scalability - actually drive the architecture and technology decisions. Inviting you to enjoy the read too!
#serverless #casestudy
Speaking about business-driven architecture decisions: if you want to learn how to make those, the next cohort of Business Oriented System Design Course starts mid-January. The graduates will get official Credly certificates, how cool is that? Make sure to sign up here: https://vvsevolodovich.dev/business-oriented-system-design-course/