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

Before we start: This Thursday I am interviewing Vlad Khononov about his new book on Balancing Coupling in Software Design. If you answer the question under this post you can win a free eBook! Hurry up!

Highlights

Scaling Our Rate Limits to Prepare for a Billion Active Certificates 👷‍♂️

This blog's https is powered by let's encrypt: like 550 millions other websites in the Internet and still receives 340 thousands requets an hour for new certificates. This scale requires applying various performance tactics, rate limited excluded. This is a good example where switching limiting algorithms drastically increases user success - follow the article for details.

Scaling Our Rate Limits to Prepare for a Billion Active Certificates
Let’s Encrypt protects a vast portion of the Web by providing TLS certificates to over 550 million websites—a figure that has grown by 42% in the last year alone. We currently issue over 340,000 certificates per hour. To manage this immense traffic and maintain responsiveness under high demand, our infrastructure relies on rate limiting. In 2015, we introduced our first rate limiting system, built on MariaDB. It evolved alongside our rapidly growing service but eventually revealed its limits: straining database servers, forcing long reset times on subscribers, and slowing down every request.

#performance #casestudy

Step by Step Practical Guide to Architecting Cloud Native Applications 👷‍♂️

Looks like folks from MS only prove my point: the main driver of the software archtitecture are business objectives and corresponding requirements. Imagine you know that and want to go clouds with your solution? Grab a step by step guide on building cloud native solutions including picking the style, data storage, compute layer, caching strategy and more!

Step by Step Practical Guide to Architecting Cloud Native Applications | Microsoft Community Hub
Architecting Cloud Native Applications

#bestpractices #cloud

27 Fundamental Techniques for Software Architects 👷‍♂️

I found only half of the techniques really familiar, the other 3rd were just a name and the last bit I was completely unaware of. That means - that's a great list! It will be impossible to study all of them at once, but it makes sense to study one technique each week - that means in half year you will know them all!

27 Fundamental Techniques for Software Architects
Discover essential techniques for software architects to design modern systems, align with business goals, and manage stakeholders effectively. Learn more in this post!

#architecture

Follow-Up

1 billion JSON documents challenge by Clickhouse 🤟

Clickhouse built JSON support recently and now they do nothing but bragging about how they are 9000(nine thousand, Karl!) times faster for aggregations than PostgreSQL. Not sure about the benchmarks, but the post is worth reading at least because it explains the difference in how Mongo, PostgreSQL, ElasticSearch and CLickhouse store json documents.

The Billion Docs JSON Challenge: ClickHouse vs. MongoDB, Elasticsearch, and more
Explore how ClickHouse’s new JSON data type outperforms leading JSON databases with unmatched storage efficiency and lightning-fast query speed—all while storing JSON data in a single field and staying true to the promise of JSON databases.

#performance #db

Emerging Patterns in Building GenAI Products  đźŤĽ

We observe a boom of GenAI products: coding assistants, photo ai, resume advisers etc. LLM usage brings a new set of challenges like non-determenism, which should be handled. Martin Fowler's blog spots new emerging patterns driven by these challenges.

Emerging Patterns in Building GenAI Products
Patterns from our colleagues’ work building with Generative AI

#ai

Writing a good design document  đźŤĽ

Recently I read a design document, and the only thing I understood is how to avoid the several parallel processes reading the same rows. Why we wanted to avoid that ? What are the different ways to do it? Those questions were left unanswered. Writing is the best way of thinking. So learn how to write a design document, the only question you will have after reading which would be "Why we didn't that before?" Really, follow this great piece.

Writing a good design document
A guide

#documentation #decisionmaking

The 2025 AI Engineering Reading List 🤟

Can't leave you without a paper, or rather without a huge list of papers... on AI of course. Building LLMs, prompting, RAG, Vision - the list is long!

The 2025 AI Engineering Reading List
We picked 50 paper/models/blogs across 10 fields in AI Eng: LLMs, Benchmarks, Prompting, RAG, Agents, CodeGen, Vision, Voice, Diffusion, Finetuning. If you’re starting from scratch, start here.

#paper #ai

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!