Architecture Weekly #87
Architecture Weekly Issue #87. 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 as well.
WARNING 🇺🇦
It's already been a year and a half since Russia's crazy, brutal and unjustified war against Ukraine. We condemn this war and want it to stop ASAP. We continue this newsletter so you can advance your skill and help the millions of Ukrainian people in any way possible. If you want to help 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 and Dzmitry 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!
Highlights
Scaling the Instagram Explore recommendations system 🤟
Once you open "For you" tab in Twitter or "Explore" tab in Instagram, you might wonder how the system selects content, which You specifically would find interesting. In this post in Engineering blog, Instagram engineers explain how they use several stages of ranking to show you the most relevant content from multiple sources.
#ml #casestudy
Announcing the 2023 State of DevOps Report 🍼
Last time we discussed that DevOps in 2023 is in terrible state. But the Google Cloud report kinda disagress. They see the Elite category of performers back in charts and also give the advices on how to move close to it, like building with users and mind and caring for people so they feel belonging.
#devops
From Big Data to Better Data: Data Quality at Lyft 👷♂️
We at Bolt Billing aim for quality - otherwise we face lot sorts of trouble, from finanacial to legal. Same challenge Lyft has(and no wonder). In their blog you will find an article on what does it mean for data to be correct and how Lyft built a platform to ensure data correctness at scale of petabytes a day.
#casestudy
Follow-Up
Hints for Distributed Systems Design 🤟
The blog post by Murat Demirbas provides heuristic principles for designing robust and efficient distributed systems. Inspired by Butler Lampson's work, the post categorizes these principles into functionality, performance, and fault-tolerance. Key takeaways include the importance of abstraction for simplifying complex systems, minimizing coordination to improve efficiency, and ingraining fault-tolerance from the design phase. The author also emphasizes leveraging time for performance gains and the need for observability tools. A bonus hint suggests rethinking system design for the cloud era, moving away from traditional physical box models to a more flexible, cloud-based approach.
Seven Principles of Cloud-Native Architectures 🍼
Elasticity, Service-Orientation, Observability, Resilience, Maximum Automation - the post in Alibaba Cloud Community blog explains the principles behind truly cloud-native applications. A detailed read explainig why this or that principle is really important.
#cloud
Enhancing Security and Developer Productivity: LinkedIn's Journey with Implementing Content Security Policy 👷♂️
At LinkedIn security standards are no joke, as they deal with PII(Personal Identification Information). So they need to make sure their security standards are applied across all the applications, including frontends. At first they implemented fully centralized approach to control Content, but then faced the scalability issue and moved it more towards the end applications. See how they did it(sequence diagrams included).
#security #casestudy
Sticky sessions and canary releases in Kubernetes 👷♂️
Sticky sessions and canary releases might sound contradictive, as you combine the experimentation with sessions landing the same pod, but no worries, it's perfectly achievable. In this post you will find how to configure Nginx in Kubernetes with separate ingress manifests.
#kubernetes #k8s
Zomato's Tool to prevent data leaks 👷♂️
I don't think I need to convince anybody data leaks are bad. Zomato decided they want to tackle the problem at scale and created and automated solution started as a simple github monitoring tool. In this post you will find the current tool architecture and principles of working. The tool is called Vinifera and it's opensource btw :)
#security
Netflix's Backend Architecture 🍼
Short article on the high-level backend architecture of Netflix. Streaming platform, Chaos Monkey, CDN and some other tools. Definitely not a Deep Dive, rather a high-level overview.