Architecture Weekly Issue #76. 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.
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.
Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel B, Pavel, Robert, Roman, Iyri, Andrey, Lidia, Vladimir, August, Roman, Egor, Roman, Evgeniy, Nadia and Daria 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!
How to prevent digital wallet fraud 👷♂️
Mobile banks, payments apps and crypto-wallets are very popular, hitting 120 million users in 2021. Where the money are, there the malicious users are headed. Phishing, social engineering and pure software bugs can lead to money loss. Find out the case studies and recommendations on how to battle those problems in an awesome material by Cossack Labs.
Gossip Protocol 🤟
The Gossip Protocol is valuable in distributed systems because of its efficiency, scalability, and robustness. It effectively disseminates information across a large number of nodes with minimal network traffic, making it highly scalable even for substantial networks. Moreover, due to its randomized communication pattern, it is highly robust, enabling the system to tolerate failures and still maintain the speed and accuracy of information propagation. Find the description and explanation of its workings below!
Cracking the mobile system design interview 👷♂️
System design interview is typically a tricky step, and if there are tons of materials on the backend types, there are very few for mobile system design interview. We are fixing this now! Find a good guide on the preparation to a mobile interview. If you don't find that sufficient, you can always request a consultation or a mock interview here.
#systemdesign #mobile #interview
How LinkedIn Serves Over 4.8 million member profiles per Second 👷♂️
Read on LinkedIn profiles doubling YoY made the engineering team reconsider how they serve those. So they decided to introduce a Couchebase-enabled caching layer. Find more details inside!
Introduction to eTOM 🍼
I used to include blue-prints and reference designs for particular business domains, it's time to resume it. Find the eTOM - a framework for telecommunications industry's business processes. The material includes the explanation of various parts of the standard alongside with the evolution of the standard.
How Gradle cut AWS storage costs by 75% using S3 🍼
Build Scan is an X-Ray tool to understand your Gradle or Maven build. Gradle stores the data about the build steps, timings, used dependencies in the Amazon RDS. Eventually it bit them with the price, so they reconsidered and moved to S3, cutting costs by 75%. More details below.
Load Balancer explained from a Startups perspective 🍼
How a technology should handle the ever-growing load of their systems? Follow this post to get a grasp on the different types of load balancing solutions and different balancing algorythms.
Improving Performance with HTTP Streaming
Serving HTML content as soon as possible is essential to the modern web. AirBnb tried to reduce the time to First Contentful Paint to less than 100ms. And they managed to achieve it by streaming chunks of the HTML page. Find the technical details in AirBnb blog.
Lessons learned from Running Web Experiments at Square
The article provides detailed insights into best practices for conducting successful A/B testing, particularly from the perspective of Square's Ecosystem Discovery team. Key points include Establish a metric hierarchy, proper bucketing of test subjects, gradually ramping up A/B test traffic in phases and several others.