Architecture Weekly #109
Architecture Weekly Issue #109. 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
Secrets of Learning Programming Languages 🍼
What language to learn in 2024? What is the best way to learn a programming language? What is the top paid programming language? Those questions are not that easy to answer, but lucky we are - Vitaly, an author of Haskell in Depth, shares his insights from 20 years of experience teaching the languages.
#interview #video
How DoorDash Standardized Microservices Caching 👷♂️
Caching at a single service is pretty straightforward, but what if you have thousands of them? DoorDash faced this problem and decided to introduce a common caching library for their Kotlin microservices, handling the common caching problems like dealing with Redis downtime and cache staleness. Details inside!
#casestudy #performance
9 Extraordinary Terraform Best Practices 👷♂️
Infrastructure-as-a-Code is still code. And people make mistakes with the code. Tiexin Guo from AWS shares the 9 secrets how to approach IaaC. For example, click the needed resource first, automate after or separate the infrastrure from configuration. Amazing post!
#sre #iaac
Follow-Up
The CAP Theorem. The bad, the bad & the ugly 🤟
Yes, again! CAP theorem is famous and frequently critized. Dominik Tornow returns to the topic once again to explain why CAP theorem is both useful and harmful for understanding the distributed systems and even shares the formal proof to it, and yells at it right away.
#distributedsystems
The Builder's Guide to Better Mousetraps 🍼
Building a new thing - like a startup or a mere tool - is a risky endeavour. And Marc Brooker posted a comprehensive note with the questions you need to ask yourself if the new thing you're building is worth it. Find it inside.
#philosophy
How Precision Time Protocol is being deployed at Meta 🤟
Everyone should have heard about NTP - time protocol so sync time between user machines. But time synchronisation is a foundational problem to solve in distributed systems to elect leaders and sync data. NTP allows for millisecond precision, but Meta needed a nano-second level. PTP can do that. Read the article by Meta on how they deployed the new protocol and what results did they achieve. I know you won't install antennas, but the read is fascinating.
#time #distributedsystems
Sidecars, eBPF, and ambient mesh 🍼
The sidecar pattern and service mesh can be confusing. Folkds from Linkerd shared a two-pager explaining what are sidecards, eBPFs and ambient meshes and busted some myth around them.
#network
Migrating iOS Build System from Buck to Bazel 👷♂️
Some stuff from mobile world regarding build systems. Big applications require a sophisticated build system to make the build fast and efficient. AirBnB used to use Buck, but decided to move to Bazel. Despite having significant similarities, both systems have a set of differences as well. Read how iOS engineers abstracted the differences in the custom rules and performed the migration.
#mobile #cicd
Kubernetes Security with GKE Autopilot 🍼
Kubernetes is difficult by itself, and making it secure is even more complex. Good thing is that cloud providers recognize their role in improving the security state. In case of Google it's GKE Autopilot, which is doing the same. More details inside.
#cloud #security #gcp
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!