Architecture Weekly #163

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

System Design Course Cohort #5 is open!

Typical system design courses teach technical skills but often overlook the connection to business problems. This course fills that gap, emphasizing the importance of recognizing and addressing business priorities with technical approaches. Learn to go beyond load balancing options and performance tactics by focusing on solving real business challenges. Course is completed by 50+ engineers with great feedback!

SIGN UP HERE: ONLY 5 slots left!

Highlights

Accelerating Large-Scale Test Migration with LLMs 👷‍♂️

This post describes how Airbnb harnessed large language models to supercharge test migrations. It covers their engineering challenges and why speed and reliability matter when your codebase grows so big. They also share practical tips for seamlessly integrating LLMs into routine developer workflows. The story shines a light on scaling test coverage without driving folks insane. If you’re wrestling with legacy test suites, you’ll find some refreshing insights here.

Accelerating Large-Scale Test Migration with LLMs
How Airbnb migrated nearly 3.5K Enzyme test files to React Testing Library in just 6 weeks using automation and LLMs

Vertical Sharding Sucks 👷‍♂️

Vertical sharding can significantly complicates queries and can choke performance. The article walks through the typical reasons teams consider splitting databases in the first place. You’ll learn about unexpected complexity, how it impacts schemas, and alternatives to avoid painting yourself into a corner. It’s a call to be cautious before slicing your data in ways that might backfire. If you’ve ever dreamed of scaling by “just splitting tables,” this is a must-read.

Vertical sharding sucks

#db

Top 5 ways to use AI in Software Architecture 🍼

Software Architects need to make decisions, review existing ones, document software systems and prototype new systems. AI can be powerful assistants. Here's the top 5 ways how to use LLMs to advance your software architecture

Top 5 ways to use AI in Software Architecture
Software Architects need to make decisions, review existing ones, document software systems and prototype new systems. AI can be powerful assistants. Here’s the top 5 ways how to use LLMs to advance your software architecture

#ai #architecture

Follow-Up

Postgres Scaling Roadmap 👷‍♂️

Here, you’ll find a handy overview of how Postgres can scale for large workloads. The author explores common strategies, from partitioning and sharding to replication and connection pooling. What sets this piece apart is its future-forward perspective on upcoming Postgres features. If you’re planning to run Postgres at scale, you can glean valuable pointers from real-world scenarios. Expect a balanced mix of technical insights and forward-thinking advice.

A roadmap to scaling Postgres
After meeting with another database fellow recently - the evergreen topic of database scaling popped up again. That won’t go out of fashion anytime soon I guess, despite the AI advancements and the rise of Postgres-aware chatbots a la Xata Agent. Namely - when to grab for which designs, technical…

#db

ElasticSketch: Bringing Resource Elasticity to Network Measurement 🤟

This is a deep dive into data-plane resource management through a technique called ElasticSketch. The paper focuses on elastic resource allocation for network measurement, which helps capture traffic patterns without massive overhead. They detail the algorithm’s design, plus real-world performance results. If you’re into systems engineering or network metrics, you’ll discover a clever approach to handle dynamic workloads. Even if network measurement isn’t your core job, the resource elasticity concepts are worth understanding.

#paper

Cost-Efficient Event Ingestion into Iceberg S3 Tables on AWS 🤟

How to handle a stream of events in a budget-friendly manner using Apache Iceberg and Amazon S3? You’ll see how the author tuned their setup to reduce storage bills and streamline data ingestion. There’s a nice step-by-step breakdown of architectural choices, plus some trade-off explanations. It’s full of practical tips for those running big data pipelines. Recommended if you’re all about optimizing AWS costs.

Cost-efficient event ingestion into Iceberg S3 Tables on AWS
Amazon S3 Tables was launched on December 3rd 2024, and provides you “storage that is optimized for tabular data such as daily purchase transactions, streaming sensor data, and ad impressions in Apache Iceberg format”. While S3 Tables can be queried…

#s3 #aws

Introducing Architecture as Code in SonarQube 🍼

SonarSource unveils a new feature that transforms the way teams define, visualize, and validate software architecture. It’s a sweet combination of code-based rules and automated checks to ensure your design stays on track. By embedding architectural policies right in your CI pipeline, you can catch design drift early. The article gives a glimpse into how it fits neatly with SonarQube’s usual static analysis. If you’re a fan of “as code” solutions, this is worth a read.

Introducing Architecture as Code in SonarQube
Sonar recently introduced new architecture as code functionality in SonarQube. With it, you can now formally define the architecture of your projects and SonarQube will automatically verify when code strays from your defined architecture preventing architectural drift.

#aaac

Optimizing Postgres Table Layout for Maximum Efficiency 🤟

In this guide, the author walks through different ways to tune Postgres tables, from choosing column order to leveraging fill factors. They highlight how small changes can yield big boosts in performance. There’s also some discussion on how indexing strategies and data types play a role. It’s the kind of hands-on advice that can help you squeeze out more speed without crazy hacks. Useful if you crave performance gains for your Postgres setup.

Optimizing Postgres table layout for maximum efficiency
Introduction When modeling a Postgres database, you probably don’t give much thought to the order of columns in your tables. After all, it seems like the kind of thing that wouldn’t affect storage or performance. But what if I told you that simply reordering your columns could reduce the size of your tables and indexes by 20%? This isn’t some obscure database trick — it’s a direct result of how Postgres aligns data on disk.\n

Understanding JSON Schema Compatibility 👷‍♂️

This blog post delves into the nuances of JSON schema evolution and keeping your data consistent. The author covers schema validation rules, versioning concerns, and the difference between backward and forward compatibility. It’s presented in a straightforward manner to help you avoid typical schema pitfalls that can break your API. If you juggle JSON data structures in microservices or event-driven systems, this piece will clear up some confusion. Overall, it’s a neat primer on a common challenge for modern data exchange.

Understanding JSON Schema Compatibility
Confluent Schema Registry provides a centralized repository for an organization’s schemas and a version history of the schemas as they evolve over time. The first format supported by Schema …

#protocols

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!