Architecture Weekly #97
Architecture Weekly Issue #97. 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!
Announcements
Next week I am talking with Slava Savitskiy, a Staff Engineer from Spotify, about that it takes to be a Staff Engineer, what are the responsibilities of this role and how to grow into such position. Press the notify button to get a reminder!
Highlights
An intuitive documentation strategy 👷♂️
What is the most overlooked aspect of software development? Writing good documentation indeed. But worry no more: Rohit Hedge posted his recommendation on building intuitive documentation. I really like that not only includes such things as onboarding procedures or working on the first story in the project, but also the list of ADRs, the certifications required to do the job per persona and last, but not least a great structure for docs. Must read!
#documentation
Hashnode Architecture Overview 👷♂️
Hashnode is kinda a competitor for Medium. In this post they explain how their whole solution is designed starting from DDoS Protection and domain resolution, down to the data stores. Detailed and illustrated post on hashnode itself :)
#architecture #casestudy #serverless
Improving efficiency of Goku Time Series Database at Pinterest 👷♂️
Time-series databases are the core of modern observability solutions, and Goku is no exception at Pinterest. They built a pretty sophisticated architecture for the observability, but still faced Longer Recovery Time and the fact of Single Point Of Failure Due To Health Inference at Cluster Level. Find out what changes did the Pinterest team do to handle those risks.
#observability
Follow-Up
Selecting Compute offering in cloud 👷♂️
Cloud providers offer the variety of compute services like Virtual Machines, Container Management Services, App Engines, Managed Kubernetes Clusters, Functions as a Service and others. How do you choose one? AWS Well-Architected Framework lists the methodology of picking the right option starting with gathering your requirements(huh, who could have known) to understanding the cloud capabilities.
#cloud
Flutter Application Security Considerations 👷♂️
Flutter is one of the two big cross-platform solutions for Mobile Development. React-Native security was already analyzed by Cossack Labs earlier, and it's time for Flutter. Vulnerabilites, toolset, byte code analysis - all that you would expect in a decent guide.
#security #mobile
Model Checking Guided Testing for Distributed Systems 🤟
The paper "Model Checking Guided Testing for Distributed Systems" introduces a testing technique called Mocket, which bridges the gap between formal specifications and their implementations in distributed systems. Mocket uses state space generated by formal model checking to guide system testing, identifying bugs in distributed systems. The technique was applied to three popular distributed systems, revealing both known and previously unknown bugs. Key contributions include the novel approach of Mocket, its implementation, and its effectiveness in unearthing bugs in real-world systems.
Inside Capital One's Point-of-Sale Rewards API 🍼
Capital One built API behind an interesting feature: being able to see and redeem your bonus points right at the Point-of-Sale. They leverage AWS Lambda, Reduce maintenance requirements, increase high availability and scale performance as needed. More details in Capital One's blog!
#serverless #api
Voyager: Spotify’s New Nearest-Neighbour Search Library 🍼
Music recommendations can be solved either by machine learning or by algorithmic search by closest neighbour. Sounds like essential technical capability for a music streaming service. In this article you will find the requirements to a nearest-neighbour solution and the story how it evolved over the years.
#casestudy
Optimizing Kubernetes scalability and cost-efficiency with Karpenter 👷♂️
Miro migrated to Elastic Kubernetes Cluster several years ago and were experimenting with Auto-Scaling Groups, but discovered issues with spot instances, scaling from and to 0 and working with Persistent Volumes. So they decided to give Karpenter a try - an open-source scaling solution for Kubernetes. Find out the resuls in Miro Engineering blog!
#Kubernetes #cloud