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

Designing Socio-Technical Systems with Yevgen Nebesov 🍼

In this interview with Yevgen we explore the concept of socio-technical systems, the need for combined design of social and technical aspects, translating business goals into requirements, and managing organizational complexities in technical environments. Discover that you can formulate requirement not only to software systems, but to whole organizations.

#video #interview

Overengineering this blog's preview site with Kubernetes 👷‍♂️

Kubernetes is used frequently inappropriately in the solutions where couple of VMs would suffice. But the ultimate overengineering is indeed using K8s for running a blog. In the meantime this is a nice opportunity to learn the networking and port forwarding with Docker containers. Check it out.

Overengineering this blog’s preview site with Kubernetes
A small overview on how future-sight, my blog’s preview site server, is overengineered with the power of Kubernetes.

#kubernetes #k8s

DSQL Vignette: Reads and Compute 🤟

A piece of content from Marc Brooker - a distinguished Engineer at AWS! The reason for it is the announcement of Amaazon Aurora DSQL - a serverless, distributed SQL database with virtually unlimited scale, high availability, and zero infrastructure management. In this post Marc discusses the scalability, which can be only achieved with disaggregation of storage and compute. Deep dive inside!

DSQL Vignette: Reads and Compute - Marc’s Blog

#db #serverless

Follow-Up

Tools and techniques behind resilient systems 👷‍♂️

Re:Invent - the biggest technology conference of AWS - concluded last week. I am sharing the talk for Mark Brooker - where he covers the tools and approaches for resilient systems, including retry strategies, circuit breakers and many more!

#resiliency

Efficient MySQL pagination wtih deferred joins 👷‍♂️

Typical pagination is just using the offset in the query. But Aaron - a database educator - shares other recipes how to accomplish this task.

Efficient MySQL pagination using deferred joins - Aaron Francis
A slight modification to traditional offset/limit pagination that can drastically boost performance.

#db

Pessimistic or Optimistic Concurrency Control? 🤟

Do you understand the difference between the pessimistic and the optimistic concurrency control in databases? TiDB for the rescue! Originally started with OCC, they switched to PCC in the release 3.08. Find out why they had to switch.

Pessimistic or Optimistic Concurrency Control? Lessons Learned from Real-World Customer Scenarios
Selecting the right concurrency control strategy — Pessimistic Concurrency Control (PCC) or Optimistic Concurrency Control (OCC), is one…

#db

Continuous Integration 👷‍♂️

Continuous Integration is the foundational mechanism behind developer team work. Feature development, branching, history, deployments are all enabled by it. Martin Fowler wrote an extensive post about it. Have a read!

Continuous Integration
Every developer integrates their work into mainline at least every day.

#db

Building your own Ledger Database 🍼

AWS has it's own Ledger database, but they are sunsetting it next year. The question arises though, what you're gonna do? And some companies call to replace it with their own solution. Oskar Dudycz discusses the reasons of having a ledger in the first place with examples for Stripe and Uber.

Building your own Ledger Database
Today we discussed a challenge of replacing Amazon Quantum Ledger Database raised by Architecture Weekly community member. The surprising recommendation was to built your own Ledger Database. Why? Am I mad? Check in the latest release, and also learn why Uber and Stripe decided to also do it. And how that relates.

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!