Architecture Weekly #91
Architecture Weekly Issue #91. 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
Lessons learned from two decades of Site Reliability Engineering 👷♂️
What can be more valuable than lessons learned by the biggest SRE team for the last 20 years? Good news they are available in public. Make sure to get yourself acquainted with the important lessons like "Canary all changes", "Use Integrations Tests", "Have double backup communication channels" and several more! Absolute must read.
#sre #reliability
Scaling smoothly: RevenueCat's data-caching techniques for 1.2 billion daily API Requests 👷♂️
RevenueCat's business is the subscription for mobile applications. That mean billions of API requests daily - and this is a challenging tasks. What can you do about it? Add more API servers. Add cache. Have multiple cache servers. Have warm cache and so on, and so on. Detailed strategies in an awesome post in RevenuCat blog!
#performance
Has Your Architectural Decision Record Lost Its Purpose? 🍼
Every decision can be significant, but not every decision is architectural. Also, if you don't see that the ADRs are read(using counters for example), then you probably not tought your developers to employ them, or they are useless(ADRs, not developers). Either way, you need to review the ADR creation process. More on this in the article on InfoQ.
#adr
Follow-Up
Building Serverless Applications with AWS - Observability 🍼
Even when you don't have servers to manage, you still need to understand the system state and reason about it's behaviour. In this article, which is the last in the series on Serverless Applications, Benjamin Pyle covers the requirement for structured logs, traces and DataDog as an instrument to get all of that.
#observability
Software Architecture Books 🍼
Long list of books for software architect. I read only a small part of them, but they are all useful from a particular perspective. Choose the order wisely!
#architecture #books
Big Book of MLOps Updated for Generative AI 👷♂️
Talking about the books, check out the updated Big Book of MLOps, which now includes a section on Generative AI. This book gives you the latest information on how to run machine learning systems effectively, with new tips on using AI that can create content. It's useful for those who work with data and want to keep up with the latest in AI and machine learning.
#books
Architecture Fitness Functions 👷♂️
Fitness Functions help governing the big system, so that developers can not steer the system in a wrong direction. Find the short video from Mark Richards himself on what they are and how are they useful. Also, I am working on a video on Fitness Functions as well... will keep you posted!
#architecture
PolarDB-SCC: A Cloud-Native Database Ensuring Low Latency for Strongly Consistent Reads 🤟
And as always, some sweeties. Murat shared another paper review on Low Latency for Cloud-Native databases with PolarDB as an example. PolarDB SCC offers a shared-cache architecture that elevates database performance and provides remarkable elasticity, but the trick is the canonical primary-secondary architecture of relational databases.
#db #paper #cloud
How Yelp Handles Lots of Code Dependencies 👷♂️
Find out how Yelp deals with the challenge of organizing lots of code pieces that rely on each other. This article explains the methods and tools Yelp uses to make sure its software works well and can grow without problems. Good dependency management helps Yelp's apps stay strong and easy to work on, which means they can keep improving and working well for users.
#development