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.

Lessons learned from two decades of Site Reliability Engineering
Site Reliability Engineering, incident management, learning, lessons learned, SRE

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

Scaling smoothly: RevenueCat’s data-caching techniques for 1.2 billion daily API requests
Explore how RevenueCat efficiently manages 1.2 billion daily requests using cache strategies for low latency and high consistency.

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

Has Your Architectural Decision Record Lost Its Purpose?
Architectural Decision Records (ADRs) are important vehicles for communicating the architectural decisions a development team makes about a system. Lacking a clear definition of what is architectural, and also lacking anywhere else to record important decisions, they can start to drift from their or…

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

Building Serverless Applications with AWS – Observability
Building serverless applications with aws is a big topic, when thinking about observability, traces, logs and metrics need to be discussed.

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

GitHub - mhadidg/software-architecture-books: A comprehensive list of books on Software Architecture.
A comprehensive list of books on Software Architecture. - GitHub - mhadidg/software-architecture-books: A comprehensive list of books on Software Architecture.

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

Big Book of MLOps Updated for Generative AI
We are excited to announce a new version of the Big Book of Machine Learning Operations (MLOps) covering new product updates and Generative AI requirements.

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

Lesson 73 - Architecture Fitness Functions (posted November 18, 2019) | Developer to Architect | Mark Richards

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

PolarDB-SCC: A Cloud-Native Database Ensuring Low Latency for Strongly Consistent Reads
This paper from Alibaba group appeared in VLDBβ€²23 . It talks about how to perform low latency strongly-consistent reads from secondaries in ...

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

Dependency Management at Scale
Dependency Management at Scale Adrian Comisel, Software Engineer May 17, 2023 Keeping project dependencies up to date is an ever-growing concern. An increasing number of dependencies is used for even...

#development