Architecture Weekly #129

Architecture Weekly Issue #129. 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

Inside Crowdstrike's Deployment Process 👷‍♂️

The famous Crowdstrike outage impacted literally half the world didn't happen because of a code change. Rather Crowdstrike had two components to their Falcon solution: code and configuration data. And configs was the reason for the disaster. Find out different approaches of the rollout and testing for both code and configs summarized by Dylan Ratcliffe

Inside Crowdstrike’s Deployment Process
On July 19th, Crowdstrike created the biggest outage in history. Find out the what the deployment process looked like that made this possible.

#cicd

Job Counting At Uber Scale 👷‍♂️

How difficult can it be for a Ride-Hailing service to count the rides done by a single driver? Well, it turns out to be tricky when you're doing more than 2 billion orders each quarter(which we at Bolt hope to be doing at some point in the future). After considerations, Uber picked up Apache Pinot, a columnar distributed database to solve the task and faced several interesting problems. The description of the solutions inside the article

#casestudy #performance

Data Replication Design Spectrum 🤟

When designing a replication scheme you can either mask the failure through quorum, or demand the replication to the whole cluster i.e. reconfiguration. But those are two opposing points on the replication specturm with leader-base algorithms like Raft residing near the center. Find a great longread with storage efficiency and latency analysis for each part of the spectrum

Data Replication Design Spectrum

#distributedsystems

Follow-Up

Kubernetes Security Fundamentals Series 👷‍♂️

Find the series of 4 posts about the foundations of Kubernetes Security: networking, authorization, access models for every component inlcuding the kuberenetes api, worker nodes, etcd

Kubernetes security fundamentals: Authorization | Datadog Security Labs
A look at how authorization works in Kubernetes

#security #k8s #kubernetes

How LinkedIn moved its Kubernetes APIs to a different API group  👷‍♂️

Changing API can be challenging even for 1 service, but it's seem impossible to migrate hundreds, so new ideas are welcome. LinkedIn build some new mirroring stuff to migrate their Kubernetes payloads from one API to another without downtime with mirroring deployment APIs.

How LinkedIn moved its Kubernetes APIs to a different API group

#kubernetes #k8s #casestudy

How Idempotence won't save you 👷‍♂️

Yes, idempotence might save you in a situation of repeated processing, or... it might not! Dominik Tornow(btw, checkout an interview with him about Distributed Systems) shows a straightforward example where a failure can still lead to problems even with idempotency keys in place.  

Issue 30 - Idempotence
Idempotence

#distributedsystems

Apache Pinot Architecture

As Uber mentioned Apache Pinot, I recommend to go through it's docs to figure how the highly performant and concurrent OLAP db is working under the hood by leveraging Apache Helix, Zookeeper and 3 types of nodes.

Architecture | Apache Pinot Docs
Understand how the components of Apache Pinot™ work together to create a scalable OLAP database that can deliver low-latency, high-concurrency queries at scale.

#db

Advice to the young by Murat 🍼

I am not young already but I have read it still, and that's a good set of advices for the aspiring developers. Apply practice, don't hesitate to ask questions, focus on the work, ship something every day or two. You easily find a separate book on each topic for example, there is "Deep Work" that I am reading right now

Advice to the young
I notice I haven’t written any advice posts recently. Here is a collection of my advice posts pre 2020. I’ve been feeling all this elderly w...

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, 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. They receive early access to the articles, influence the content and participate in the closed group where we discuss the architecture problems. Join them at Patreon or Boosty!