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!
#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!
#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.
#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
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.
#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 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!
#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.
#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.
#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!