Architecture Weekly #146

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!

State of Software Architecture Report — 2024
Results from IcePanel’s survey to architects and technical leaders on software architecture.

#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.

Predicting the Future of Distributed Systems
There are significant changes happening in 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!

Database Internals: Working with IO
Explore the tradeoffs of different Linux I/O methods and learn how databases can take advantage of a modern SSD’s unique characteristics

#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.

Provisioning Kafka topics the easy way!
How we enabled self service Kafka 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!

How NoSQL Databases Speed-Up Write-Heavy Workloads
Understanding How LSM Trees Optimize Writes in Key-Value Datastores

#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!

How Nginx Handles Thousands of Concurrent Requests
Understanding Event-driven Non-blocking Architecture of Nginx

#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!

PostNL’s Serverless Journey
PostNL is the largest logistics supplier in the Benelux. In 2022 we delivered an average of 7.4 million letters and 1.1 million parcels…

#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/