Architecture Weekly #104
Architecture Weekly Issue #104. 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 just shared an article on how we added a second product to our architecture.
Highlights
The Cost Crisis in Observability Tooling 🍼
If observability is based on the metrics, logs and traces you will have to pay per each metric and per every GB if logs. And you will require some slightly different information for APM, for behavioral analytics and other purposes, which will cost you several times. The observability 2.0 based on the structured logs is solving this problem as it is based on a single source of truth for every observability aspect. Charity Majors explains the details in this piece on HoneyComb blog.
#observability #cost
How moving from AWS to Bare-Metal saved us $230,000 /yr 🍼
I enjoy the stories when people understand well their cost structure and can evaluate alternatives. OneUptime is sharing their story how relying on solely OpenSource technologies allowed them to stay vendor-lock free even being hosted on AWS to then switch to bare metal when it was required. Frugality, as we like it.
#frugality #aws #cost
Fault-Tolerant Replication with Pull-Based Consensus in MongoDB 🤟
Raft utilises the push system, when a node push the updates down to other nodes. In MongoDB state-machine-replication(SMR) there is a difference: the secondary nodes can pull the updates from the other servers, and not necessarily from the primaries. Find out the consequences for the fault tolerance and correctness in the paper review by Murat!
#distributedsystems
Follow-Up
What does a Platform Engineer do? 🍼
Last time we shared an article about what Platform Engineering is. It's time to figure out what do they do. In this article you will find the responsibilities, required skills and the evolving role of platform engineers in building the internal developers platform for great Developer Experience.
#devops
Everything I Know about SSDs 2019 🤟
As Aleksey Shipilëv depicted long time ago, hardware problems can look like software bugs. So the better we understand the lower levels, the better our ability to build great software. So, let's talk SSDs - in this post.
#hardware
Cell-Based Architecture and Data Transfer Cost at DoorDash 👷♂️
In the last issue we included the article about slashing data transfer cost by 99%. DoorDash explored the similar problem, but it's different as the cost comes from the services talking to each other. They introduced AZ-aware routing making the pods only speaking with the pods in the same AZ, which solved the issue. Find the diagrams and explanations in DoorDash engineering blog.
#network #cost #casestudy
Forget efficiency 🍼
Uwe Friedrichsen wrote another article on the attitude to the optimizations. It makes where little sense to optimize the thing which does not move you as a company towards a chosen target. Some philosophy on the topic inside.
#philosophy
How(and how not to) design REST APIs 👷♂️
Yeah, GrpahQL, gRPC and other cool tech emerged, but REST API is still a backbone of the internet. However, it does not mandate good practices. No worries, as Jeff Schnitzer formulated several rules which help building well-defined, evolvable APIs. Find it in his blog on github.
#api
How to extact change data events from MySQL to Kafka using Debezium 👷♂️
And the last one for today is a practical example how to get your CDC running from MySQL to Kafka using Debezium in several simple steps. Enjoy a post from Vlad Mihalcea!
#cdc #kafka
WARNING 🇺🇦
The brutal and unjustified war against Ukraine continues. 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!