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

AWS Lambda turns 10: a doc that started it 🍼

You know folks, how much do I love Lambda. Behind every great product, which Lambda definitely is, there is always a great foundation. AWS engineering culture express it in the PR/FAQ documents - an internal doc to show the strong value proposition. Today you can read the one for Lambda. Notice the structure, the narrative and customer orientation.

AWS Lambda turns 10: A rare look at the doc that started it
On AWS Lambda’s 10th anniversary, I’m publishing the internal PR/FAQ that helped launch this groundbreaking service. This document provides insight into the customer problems we observed in the early 2010s and our vision for serverless computing. Readers will find annotations throughout, offering a glimpse into how our long-term thinking has influenced Lambda’s evolution over the past decade.

#serverless #documentation

Netflix's Distributed Counter Abstraction 👷‍♂️

This week Mike Tyson was fighting Jack Paul in the ring and Netflix was streaming it only to crash mid broadcast. Apparently, the scale is so challenging that even 2+2 operations can give you 3,4, NaN and undefined. That makes reliably understanding the view counters challenging. Learn how Netflix solves this problem:

Netflix’s Distributed Counter Abstraction
By: Rajiv Shringi, Oleksii Tkachuk, Kartik Sathyanarayanan

#distributedsystems #casestudy

Most databases do not do checksums by default

You probably heard of SQLite do not checksums by default as was figured out by previously post in the same blog post. But actually there is a short list of databases that do that(like Oracle and MongoDB), and the rest don't do that assuming this is a responsibility of underlying hardware. TIL!

PSA: Most databases do not do checksums by default - blag
Most databases don’t do checksums by default. Disk corruptions go silently unnoticed.

#db

Follow-Up

Beyond the Basics of Debezium 👷‍♂️

Good article explaining how Debezium uses PostgreSQL publications to stream the changes through Kafka Connector, and a guide how to setup it for your database.

Beyond the Basics of Debezium for PostgreSQL — Part 1
Debezium is one of the very popular open source framework captures and streams database changes in real-time. A relatively young player in…

#cdc

AWS Cloud Account Security Best Practices 👷‍♂️

A pretty good guide to AWS security practices for a complete newbie with AWS. IAM Roles, Organizations, Policies, MFA, credentials best practices - well structured and helpful.

AWS Cloud Account Security Best Practices
Amazon Web Services (AWS) offers on-demand delivery of IT resources like computing, networking, and databases over the Internet on a…

#security #cloud

Why you should never default to Microservices 👷‍♂️

And here we go again. The author argues that testability is hurt a lot in a microservice approach, which is true, but can fought using testcontainers. But other arguments still valid: the complexity increase is too expensive. So don't start with microservices. Refactor to them later though if it's required.

Why you should never default to Microservices
Disclaimer: Grumpy Goose Warning

#microservices

12 Factor App Definiton

12 Factors is a set of best practices formulated by Heroku: where to store the source code, how to make deployments, how to approach processes etc. This week Heroku opensources the full guide to 12 Factords: find the link to git repo in the post!

Heroku Open Sources the Twelve-Factor App Definition
Twelve-Factor is now an open source project! Join the community to shape the future of app best practices for scalable, cloud-native SaaS.

#saas

The Myth of Loose Coupling

Event-driven architectures claims that they lower the coupling between the components. But do they actually? Dominik Tornow in his newsletter considers a simple case of an e-commerce app with both API-oriented and event-driven architecture and make a conclusion about the real effect of events on the coupling.

Issue 45 - The Myth of Loose Coupling
Event Driven Architecture and the Myth of Loose Coupling

#eda

Catching Tiny Performance Regressions at Hyperscale 🤟

Can't leave you without a paper. Let's say you commit a change that makes an application 0.05% slower. No big deal, right? Well, at the scale of Meta, it is a big deal--a small slowdown for a large application can waste thousands of servers. It's such a big deal that Meta needs a way to catch these performance regressions and reliably figure out if an application is even a hundredth of a percent slower. You will the methodology how to do that in this paper by Meta.

#paper #performance

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 on Patreon! If you like the newsletter, feel free to support it there - with one-time support for example!

By the way, they get the access to the content earlier, for example for a mock system design interview where we create Uber clone, so consider joining.