Architecture Weekly #64

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

This week I conducted an interview with Baruch Sadogursky (Principal Developer Advocate at Gradle). We discussed Developer Advocacy, Development Relations and why people are confused with DevOps and DevRels roles. Watch it here!

Highlights

The end of a myth: Distributed transactions can scale ๐ŸคŸ

I learned recently about RDMA - remote direct memory access, which allows bypassing the CPU while transferring data from one machine to another. And this development actually enables the performant distributed transactions. A paper that depicts the system design for it is being reviewed by Murat. Grab a hard, but insightful read!

The end of a myth: Distributed transactions can scale
This paper appeared in VLDBโ€ฒ17. The paper presents NAM-DB, a scalable distributed database system that uses RDMA (mostly 1-way RDMA) and a ...

#database #distributed #paper

Let's (not) break up the monolith ๐Ÿ‘ทโ€โ™‚๏ธ

This week I published a short made out of the interview with Andrey Rebrov about microservices. The short was about - should you really necessarily rewrite the monolith though(Damn, watch it already!). Following up the thought, Uwe accidentally started a series of articles on what people really want when they say they would like to break up the monolith into microservices. It appears, they don't want to rewrite it necessarily, but rather have more frequent deployment and more predictable development. Well, you can that with monolith as well!

Letโ€™s (not) break up the monolith - Part 1
Why microservices will not solve your problems

#architecture #monolith #microservice

16 System Design Concepts You wish you knew before ๐Ÿ‘ทโ€โ™‚๏ธ

Another short guide to help you prepare to the system design interview. This is not like a super-full list but it will do as an introductory checklist.

16 System Design Concepts I Wish I Knew Before the Interview.
Mastering System Design Interview: Essential Concepts for Every Software Engineer

#systemdesign #interview

Follow Up

Introduction to Data Modeling ๐Ÿผ

We live in a time when it's essential to fast, so everybody is doing MVPs, and once they go live, the engineers never get a chance to rewrite a product, because you know, business needs revenue. The same happens with data: you never get a chance to model the data properly. But if you do, you need to know why it's crucial for your data engineering pipelines and what's there for it. Read a long read by Airbyte.

Data Modeling โ€“ The Unsung Hero of Data Engineering: An Introduction to Data Modeling | Airbyte
Dive into data modelingโ€™s importance in data engineering with our series (Part 1). Discover its history, complexity, and the role of business requirements.

#data

Zero-ETL, ChatGPT and the Future of Data Engineering ๐Ÿ‘ทโ€โ™‚๏ธ

Everybody heard about zero code, but the end of the joke is "zero code - zero jobs". This time we are hearing about Zero-ETL, which was introduced originally by Amazon. So the idea is that you will have only some code doing the job, and the pipeline will be provided for you. But is it really feasible? What are the nuances of such a stack? Some considerations inside.

Zero-ETL, ChatGPT, And The Future of Data Engineering
The post-modern data stack is coming. Are we ready?

#data #etl

How to build next-gen serverless applications ๐Ÿผ

Serverless does indeed have servers in it, but you might not care, because it's a managed service. However, you still need to think about structuring your application, the communication between the apps and the resilience. Grab a short article on some of the considerations on serverless apps.

How to build next-gen applications with serverless infrastructure
Get answers to some of the most frequently asked questions about serverless architecture.

How to write RFCs and ADRs

And back to our favorite topic - RFCs and ADRs. I have shared several articles in the previous issues of the newsletter about why we need them in the first place. This time I found a good article on how precisely write them so that they are clear, concise and meaningful. Take a note!

How to Write Requests for Comments (RFCs) and Architecture Decision Reviews (ADRs)
Itโ€™s three letter acronym (TLA) time!

#documentation #rfc #adr #howto

Architecting disaster recovery for cloud infrastructure outages ๐Ÿ‘ทโ€โ™‚๏ธ

Cloud is still running on the physicals servers in the data centers. And there are electricity outages, floods, connectivity losses and other disasters. The Cloud systems should tackle this kind of problems still, that's why they put the disaster recovery plans. Read how they do it in Google.

Architecting disaster recovery for cloud infrastructure outages | Cloud Architecture Center | Google Cloud

#cloud #gcp #disasterrecovery

Lab Basics ๐Ÿ‘ทโ€โ™‚๏ธ

And a little fun. Imagine you're experimenting with some IoT devices or having some working for your SmartHome. The good idea would be to organize a proper network setup to isolate one group of the devices from the another. Ken Moini dropped a nice beginning of the series, where he explains how to runs his own computer lab at home. Grab a read.

Lab Basics - Architecture and Core | Ken Moini
Kicking off a small series called โ€œLab Basicsโ€ to help maybe inspire some of you to get started with your own home lab with a look into how I do things. Starting down the path of assembling your own home lab can be overwhelming - especially when you see people on [/r/home lab](https://reddit.com/r/โ€ฆ

#network #casestudy #iot

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!