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!

How DoorDash Standardized and Improved Microservices Caching - DoorDash Engineering Blog
DoorDash’s in-house caching system offers backend developers a fast, safe, and efficient way to introduce new caches.

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

9 Extraordinary Terraform Best Practices That Will Rock Your Infrastructure
Master Terraform in the cloud: play with the console, know your infrastructure, avoid mistakes, separate infrastructure from configuration, make code declarative, and understand vendor lock-in.

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

The CAP Theorem. The Bad, the Bad, & the Ugly
The CAP theorem is too simplistic and too widely misunderstood to be of much use for characterizing systems. Therefore I ask that we retire all references to the CAP theorem, stop talking about the CAP theorem, and put the poor thing to restMartin KleppmannIn 2000, Eric Brewer introduced the CAP C…

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

The Builder’s Guide to Better Mousetraps - Marc’s Blog

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

How Precision Time Protocol is being deployed at Meta
Implementing Precision Time Protocol (PTP) at Meta allows us to synchronize the systems that drive our products and services down to nanosecond precision. PTP’s predecessor, Network Time Protocol (…

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

Mythbusters: Sidecars, eBPF, and ambient mesh
An engineer’s guide to cutting through the marketing hype, from your engineering friends at team Linkerd

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

Migrating Our iOS Build System from Buck to Bazel
How Airbnb achieved a smooth and transparent migration from Buck to Bazel on iOS, with minimal interference to developer workflows

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

Move-in ready Kubernetes security with GKE Autopilot | Google Cloud Blog
GKE Autopilot uses Google Cloud’s deep Kubernetes security expertise to configure your clusters to be move-in ready for your production workloads.

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