Architecture Weekly #88
Architecture Weekly Issue #88. 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 and a half 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.
Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel B, Pavel, Robert, Roman, Iyri, Andrey, Lidia, Vladimir, August, Roman, Egor, Roman, Evgeniy, Nadia, Daria and Dzmitry for supporting the newsletter. They receive early access to the articles, influence the content and participate in the closed group where we discuss the architecture problems. They also see my daily updates on all the things I am working on. Join them at Patreon or Boosty!
Highlights
An Interactive Intro to CRDTs 🤟
You probably heard about the ways to implement the collaborative editors resilient to network failures. Conflict-Free Replicated Data Types allow you to do that. But how does it work under the hood? It appears it does not require much: implementation of a single interface and some school-level algebra properties. You will find this and also the interactive demos inside an awesome article by Jake Lazaroff.
#distributedsystems #crdt
99,999%(5 Nines) of Prime Video Availability 👷♂️
We used to expected the TV to show something all time, at least when we were still watching it. Not it's time of streaming services, but we expect the same level of quality. Prime Video by Amazon was built with 5 nines of availability in design. Find out how to make the appropriate calculations out of your components SLA and how to built a resilient streaming service!
#casestudy #aws #streaming #highavailability
Node.js reference architecture by RedHat 👷♂️
Node.js is wide-spread for microservice architectures. Folks from RedHat wrote a series of articles called "Node.js reference architecture" where they explain how to build solutions using this technology from code style, API design, load balancing and many more!
#bestpractice #referencearchitecture
Follow-Up
The Architecture of a Modern Startup 🍼
If you find yourself building a new product from scratch, you wonder how the overall picture should look like. Although I have some preferences, I also like to see other suggestions. Find an article which explains how the marketplace of cleaning services in Florida approaches their architecture with docker containers, PostgreSQL, secret management etc.
#casestudy
Evolution and Systems Architecture 🍼
A short note in the system5.dev blog about the product view point of our systems. We frequently look at the product either from a project perspective with a given scope, or as a feature factory, where we constantly add new capabilities. However we can look at the feature as a product incremenet... more on this in a visually compelling way - in the article!
How we tame High Cardinality by Sharding a stream 👷♂️
High Performance can be impressive, but fragile. So you always need to add some resilience there, otherwise the effort will go in vain. The post in Last9 blog discovers how tactics like Sharding, Replication and Load Balancing allows Prometheus and VictoriaMetrics stay efficient and resilient.
#timeseries #observability
MLOps: Synergy of Data Science, Engineering and Operations 👷♂️
MLOps is a way of bringing Machine Learning closer to the overall engineering ensuring the efficiency of the overall execution. In this piece you will find what role Data Science, Machine Learning, Data Engineering and Operations play in a real-life project and get a blue-print of ML-based anomaly detection solution.
#ml
Robust Architecture for Event Handling 👷♂️
AWS services is very event oriented: S3 can issue events on object updates, DynamoDB has streams, Lambda Functions can be invoked by events... How do you combine it together efficiently? Find a good post explaining how to build a robust architecture with event handling.
#aws
Load Balancer vs Reverse Proxy vs API Gateway 👷♂️
Although those terms can be mentioned together, it is important to understand the difference between the components purposes. Find out why you would need evere one of them in a short article.
#network #apigateway