Architecture Weekly Issue #118. 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
Endpoint vulnerability management at scale ๐ทโโ๏ธ
Scanning a single machine for vulnerabilities is easy. However, what do you do when you have thousands? As Canva is trying to maintain it's high security status, they created a serverless based solution to monitor their edge locations, grab the info of software installed and automatically make tickets for the vulnerable versions. ย
#security #casestudy
PostgreSQL dropped tail latency by half in the last 10 years ๐ทโโ๏ธ
What is a tail latency? It is the longer response time experienced by a small percentage of the requests. Ryan Marcus decided to figure out how this characteristics improved in PostgreSQL and discovered it was almost cut in half in the last 10 years. Find the methodic of the research in the article.
#db #performance ย
Defining Safety and Liveness ๐ค
In distributed systems it is crucial to have correct mental models. How do you think about Safety and Liveness properties? Thankfully, Bowen ALPERN and Fred B. SCHNEIDER formulated it in the formal language, and you can read the paper! Hint: ChatGPT helps a ton with understanding formulas :)
#paper #distributedsystems
Follow-Up
Measuing Developer Productivity via Humans ๐ผ
This week there was again a question in one of the chats on how to measure developer productivity. As I have a video on the topic, I want to also share an article from Martin Fowler's blog where there is good discussion on quantative vs qualitive metrics.
#devex
Async circuit-breaker for AWS Lambda ๐ทโโ๏ธ
Circuit breaker is a widely known pattern. And it is still not sufficient in some cases. For example, when you're connecting to external API with some weird limitations like large maintenance windows, unavailability during pick hours etc. If you're using Lambda, you can build a more sophisticated solution with Amazon Kinesis, DynamoDB and bunch of lambdas. See how!
#serverless #patterns #casestudy
Advanced Test Practices for Helm Charts ๐ทโโ๏ธ
Originally, I stumbled upon an article on golden testing helm charts and wanted to understand why you would need it in the first place, but googling led me to this one with not only golden testing, but several others advanced test practices for Helm.
#go
How LinkedIn reduced latency and cost-to-serve by merging two systems ๐ทโโ๏ธ
I don't want to start the annotation with 'who would have thought', but who would have thought a single service would have less latency and be more cost-efficient than 2 services? LinkedIn learnt that the hard way. Find an interesting case-study on merging two microservices into one!
#casestudy
It's always TCP_NODELAY ๐ผ
Do you know all the flags of a TCP connection? Me neither. Apparently, some of them are crucial for latency in distributed systems. Great example is TCP_NODELAY, which disables delaying the ACK sending until a timer or... more details in the article!
#distributedsystems
WARNING ๐บ๐ฆ
The brutal and unjustified war against Ukraine continues already 2 years. If you want to help Ukraine 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, Dzmitry, Mikhail, Nikita, Dmytro, Denis and Mikhail 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!