Architecture Weekly #65

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

Highlights

Tech Radar by Thoughtworks 👷‍♂️

The new issue of the Tech Radar by Thoughtworks. This time they highlight the rise of AI Tools for Software Development, marking GitHub Copilot for "Assess", highlighting the ease of adding accessibility to web and mobile applications and warning about the proper use of Lambda functions. See more details there!

Technology Radar | An opinionated guide to technology frontiers | Thoughtworks
The Technology Radar is an opinionated guide to technology frontiers. Read the latest here.

#techradar

A major part of choosing a platform to host the solution is the cost. That's why it is useful to understand the cloud vendor's landscape regarding the price. Here you can find a report on pricing patterns and trends with data gathered at the end of 2022. Unfortunately, the vendors make it impossible to compare the VMs offerings, but the report tries to do it best. Looks like VMs are the most expensive at Amazon, but the disks there are the cheapest... but there is a lot of parameters inside.  

IaaS Pricing Patterns and Trends 2022
Cloud adoption continues to grow since our last update of infrastructure as a service pricing trends. However, it remains difficult to properly assess how competitive cloud providers are with one another because their non-standardized packaging makes it effectively impossible to compare services on…

#cloud #cost

The Fractal Geometry of Software Design 🍼

Vlad Khononov is one of my favourite authors on DDD. This time I am sharing his talk about energy transfer systems, which software design can relate to.  And as such systems happen to be fractals, software design has the same patters. Sounds intriguing? Watch the video!

#video #ddd

Follow Up

Intro to AWS Well-Architected Framework 🍼

If the organization is new to the cloud of need a substantial architecture change, AWS can support it with it's Well-Architected Framework: the collection of articles and papers on how to do things right, including Operational Excellence, Security, Performance and other important aspects called pillars. See more details in the article by "A Cloud Guru".

AWS Well-Architected Framework: What it is, and how to use it
Here’s how the AWS Well-Architected Framework can help you apply proper design principles and best practices for the cloud.

#aws #cloud #architecture

A brief history of high availability 👷‍♂️

What does high availability mean in particular? What's the difference between fault tolerance and high availability? How we came up with multi-active availability for databases? The answers to those questions you will find in the article in the Cockroach Labs Blog.

A brief history of high availability
The perennial question of homo sapiens is, ‘How did we get here?’ Today we’re going to take a crack at answering that: where ‘here’ is defined as ‘high availability for web services’.

#db #availability #replication

How RocksDB works 🤟

Previously we already considered how some of the database engines could work, for example how B-trees can be leveraged for reading and writing data. I stumbled upon the article by Artem Krylysov where he explains how the RocksDB work - an embeddable database that powers Yugabyte, TitaniumDB and others - which happen to use LSM - a log-structured merge tree. Follow the article for the details!

How RocksDB works - Artem Krylysov

#db #lsm

Cross-shard transactions at 10 million requests per second

Two-phase commits is a long-known technique for distributed transactions. Dropbox blog contains an article with the story of the implementation of this easy-on-paper protocol within a cluster of thousands of MySQL databases handling petabytes of metadata to support user-facing features. Follow the fascinating journey!

Cross shard transactions at 10 million requests per second

#databases #2pc

Replacing RabbitMQ with the Postgres Queue

Usually, when you need some queue processing you switch from a database implementation to something like Kafka.  But Prequel did the opposite: having RabbitMQ to manage task queues they decided to switch to a PostgreSQL table because it is impossible to disable message prefetching in Rabbit. Have more details inside!

SQL Maxis: Why We Ditched RabbitMQ And Replaced It With A Postgres Queue
Embracing our SQL Maxi nature: how we ripped out RabbitMQ from our infrastructure and replaced it with a Postgres queue.

Grokking Scalability for System Design 👷‍♂️

And another primer on system design! This time on scalability. Find out the 2 types of scalability, the tactics for it and overall approaches in the Grokking Scalability article.

Like the newsletter? Wanna receive new content earlier, than everybody else? Consider helping to run it at Patreon or Boosty. The funds go to pay for the hosting and some software like a Camo Studio license. Patrons and Boosty subscribers of a certain level also get access to a private Architecture Community and of course every supporter gets early access. Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel B, Pavel, Robert, Roman, Iyri, Andrey, Lidia, Vladimir, August, Roman and Egor for already supporting the newsletter. Join them as well!