Architecture Weekly #108
Architecture Weekly Issue #108. 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.
If you're interested in the technologies, development approaches and overall business of our little startup in the compliance field subscribe on Patreon and Boosty, as I shared an article recently on how we added a second product to our architecture last week.
Highlights
Scheduling Internals 🤟
Ever wondered how Node.js can handle millions of requests while being a single thread? Yeah, you heard about libuv and event loops, but what happens at the CPU level? While reading this article I was recalling all my university program on Operating Systems, Schedulers(Yes, I hold a CS degree) and of course the concurrency I learned while studying java. Amazing read to understand how concurrency truly work.
#os
Revisiting B+-tree vs LSM-tree 🤟
Hardware-based data compression capability becomes increasingly more widely available on modern storage devices and infrastructure. This amplify the importance of data structures for storage. Here you will find a hardcore article comparing B+-trees and LSM-trees for using in database given the new data compression capabilities.
#db
Solution Architecture Review Method 👷♂️
Couple of weeks ago a fellow from some time ago asked me to perform a solution architecture review for their company. I performed it to the best of my ability, but even I needed some help to put a proper structure to the review and the outcome document. It made me to wonder if there is a good method to perform such reviews and this what I stumbled upon. Stakeholder Identification, Trade-off analysis and many more in SARM process!
#architecture #review
Follow-Up
Data Engineering Design Pattern Book 👷♂️
Simon Späti started to condense all his 20 years of experience in Data Engineering into a book. It just has a handful of chapters written, but the author is good, and upcoming chapters are promising. Some are already good, like the history of data orchestration. Consider subscribing for updates!
#data engineering
Software it not what you think it is - Part 4 🍼
Hard skills are important, but some philosophy is also crucial. Uwe Friedrichsen wrote a series of articles explaining why software is different from other goods, and this chapter highlights how the software should be always changing to preserve it's value depicting the adaptability requirement of software systems.
#philosophy
PostgreSQL Master-Slave Database Replication 👷♂️
Today the database systems are run by SREs, and you can face a situation when you know that you need a replication scheme and just request to have it in prod. But hands-on experience always adds to the understanding how things work under the hood. Here you will find a guide how to manually setup the master-slave replication for PostgreSQL.
#db #reliability
Why DynamoDB is (Still) My First Pick for Serverless 🍼
I mentioned the ease of starting with DynamoDB several times, and then I found that article on why other people are still picking it up as a first choice as well. It's scalable, performant, provides fine-grained access control and simply reliable - well, if you know what ExclusiveStartKey is :) Some details inside this note.
#db #serverless
Orchestrating dependent file uploads with AWS Step Functions 👷♂️
Imagine you need to launch some data processing only once every piece of data is ready and uploaded. How to organize this process let's say with S3 buckets and some lambda functions? You will need some orchestrator or a state machine tracking the upload state. Find the guide which will guide you through solving this problem with Step Functions.
#aws #serverless #lambda
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 and Dmytro 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!