Architecture Weekly Issue #59. 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.

Video

Highlights

Uber's Move to the Cloud 👷‍♂️

When you start a new product or a company, you always ask yourself: should I go with the cloud or do something on-prem? Of course, it takes a lot of considerations, starting with a budget and ending with the technologies and available talent. From this perspective, it is fascinating how Uber operating on-prem for more than 12 years decided to move to the cloud. The Pragmatic Engineer newsletter delivers 2 parts of this journey and covers the story of data centres at Uber, the reasoning for the migration and of course the cloud migration problems.

Inside Uber’s move to the Cloud: Part 1
Uber has operated its own data centers for 9 years. What challenges did the company face, and why is it considering moving to the Cloud? Part 1.

#cloud #migration #onprem

Roblox 3-days long outage 🤟

When a known company's services with millions of users are offline for 15 minutes it is already a tragedy. Facebook was down for several hours last year, and it caused a global panic.  Roblox - a gaming company - was down for 3 days which is an infinite timespan. Roblox relies heavily on HashiCorp products like Vault and Consul, and the incident was connected to the usage of those - especially the usage of a new feature in Consul that triggered a pathological issue in its open-source engine - BoltDB. Find a summary on protocol.com, as well as a detailed Post Mortem from Roblox themselves.

Why Roblox was down for three days
Roblox’s October outage was “unique in both duration and complexity,” the company said in a bit of an understatement. Its long, detailed outage post-mortem is a must-read.

#incident #hashicorp

Guide to the system design interview 👷‍♂️

And system design interviews again! This time I've got for you a very detailed guide which covers the structure of system design interview, the expectations from you as a candidate and of course the principles you need to be aware of in the majority of the system design interviews. The ways of thinking, the ways interviewers look at the candidate and real-life stories from FAANG(or MANGA?) - all inside the guide to the system design interview.

And if you need help preparing for one - you can always request a consultation here.

A Senior Engineer’s Guide to the System Design Interview
Developed by the best interviewers in the industry, from their experience with thousands of technical interviews

#systemdesign #interview

Follow-Up

11 Reasons to use Lambdas 🍼

There are a lot of talks about serverless nowadays, and AWS Lambda is probably the most known, maybe after Firebase Functions. Is it just a fancy toy or you can really leverage it in the production environment? Find an article from SentinelOne, which explains the advantages behind Lambdas.

AWS Lambda Use Cases: 11 Reasons to Use Lambdas
AWS Lambda is an event-driven, serverless computing platform provided by AWS. Learn the 11 most important AWS Lambda use cases.

#aws #cloud #lambda #serverless

Comparing Security Frameworks  🍼

How do you know which security measures you need to apply in your organization? To answer this question security frameworks exists. Grab an article to understand the detailed comparison of four major cybersecurity frameworks, namely NIST 800-53, ISO 27002, NIST CSF, and SCF. The author highlights the strengths and weaknesses of each framework and explains how they differ in terms of scope, focus, and applicability. The article also offers practical insights and recommendations for organizations looking to adopt or integrate these frameworks into their cybersecurity programs.

NIST 800-53 vs ISO 27002 vs NIST CSF
Deciding between NIST 800-53 or ISO 27002 or NIST CSF for your IT security program framework can be confusing - let us explain the difference

#security #standard #csf

The Journey to Server Driven UI at Lyft Rentals 👷‍♂️

One day, a ride-hailing company found that its mobile app's UI was becoming too complex and difficult to maintain, so they decided to adopt a server-driven UI approach to simplify the app and improve the user experience. The article from Lyft's engineering team details their journey towards implementing server-driven UI in their bikes and scooters app, the challenges they faced, and the benefits they achieved in terms of faster development, reduced app size, and improved customer satisfaction.

The Journey to Server Driven UI At Lyft Bikes and Scooters
by Alex Hartwell and Tim Miko

#mobile #serverdrivenui

Moving back end closer to the users with Edge functions 👷‍♂️

Edge functions allow developers to improve website performance and user experience by moving the back end closer to the front end. This article from the StackOverflow blog explores the concept of edge functions and their ability to move the back end closer to the front end, resulting in improved website performance and user experience. The author highlights the advantages of edge functions, including faster load times, improved scalability, and reduced costs. The article also delves into the use cases of edge functions, such as caching and content delivery, and provides examples of popular edge function platforms, so grab a read!

How edge functions move your back end close to your front end
Serverless functions have made computing seamless and fast. but for worldwide audiences, you need to get closer to your user to overcome latency.

#serverless #edgefunctions #lambda

Load Balancing Algorithms 👷‍♂️

Large-scale applications and websites often receive a high volume of traffic that cannot be handled by a single server. Load balancing distributes traffic across multiple servers, enabling efficient resource utilization, reducing downtime, and improving application performance. This article discusses various load balancing techniques, such as round-robin, weighted round-robin, and least connections. The author also provides an overview of advanced techniques such as SSL offloading and content-based routing.

Load Balancing Algorithms, Types and Techniques - Kemp
Learn more about how a load balancer distributes client traffic across servers and what the load balancing techniques and types are

#loadbalancing #highload

Anti-Corruption Layer Pattern

If you read anything about DDD, you might have heard about the Anti-Corruption layer: a pattern useful when you have two subdomains which don't share the same semantics. Basically, you introduce a layer which will translates the messages from one system into the messages readable by the another. Find a detailed description of the pattern it's drawbacks in the article by Microsoft.

Anti-corruption Layer pattern - Azure Architecture Center
Examine the Anti-corruption Layer pattern. Implement a façade or adapter layer between a modern application and a legacy system.

#ddd #patterns

Speaking about the DDD - this Wednesday I will be holding an interview the the author of "Learning DDD" - Vlad Khononov! Press the "remind me" button in order not to miss!

Voordat je verdergaat naar YouTube

And of course, this week I published an interview with Magda Miu about "What should EM know about architecture". Find it here!

Voordat je verdergaat naar YouTube

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 and Roman for already supporting the newsletter. Join them as well!