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

This week I decided to give YouTube shorts a try and made a couple of them. Tell me how did you like it? What are the good ideas for shorts?  

Highlights

Capturing a billion Emojis 👷‍♂️

Sports events are crowded - and on the internet even to a bigger degree. The companies who handle the broadcasting are willing to make them interactive so that users can show their reactions to particular events of the show - with emojis of course. To make it happen, there should be some architecture in place. Find a good piece of engineering to solve this peculiar problem.

Capturing a billion Emojis
Moving from a third party system to our in-house system that has processed more than 3 billion emoji’s till date!

#highload #casestudy

Uptime Guarantees - A Pragmatic Perspective 👷‍♂️

How frequently do you hear from the business they need 100% availability? More often than me getting incorrectly called Vlad(that's another name!). How do you turn down such requests? Get a pragmatic perspective: how to reason about the actual availability, how much does it cost to come even to 4 nines(99,99%) and what do the cloud guarantees mean?

Uptime Guarantees — A Pragmatic Perspective
Engineers won’t tell you this. It’s not how they think. They love working on nice juicy problems, and being able to put them on their CVs. 💡 Engineering for 99.5% uptime is more cost-effective than 99.99% for most startups! “But why shouldn’t my engineers strive for excellence?” They should, but 99…

#cloud #cost

DuckDB Hype 👷‍♂️

A few issues ago I featured a post by Jordan Tigani with the statement that Big Data is Dead. But what is up to the replacement then? EasyData! DuckDB is trying to do the same for data analytics as SQLite doing for transactional processing. Easy, small, embeddable, lightning fast - all of this is about DuckDB. Check out the post by Oliver Molander where he analyzes all the hype around it.  

DuckDB — What’s the Hype About?
This was a blog post that I already planned to write during the spring when I saw that the hype around DuckDB started taking new heights…

#db #data #duckdb

Follow Up

Vespa vs Elasticsearch vs Solt - Search Engine Comparison 🍼

Picking up a full-text search engine can be tricky, considering the different use cases and the range of capabilities offered by the engines out there. Should you pick Vespa? Maybe Solr will fit your task better? Grab a short article with a comparison table between Vespa, Elasticsearch and Solt.

Vespa vs. Elasticsearch vs. Solr - The Ultimate Search Engine Comparison
Search engines are an essential part of any content website today. It is enabling users to easily find and access the information they need. Vespa, Elasticsearch, and Solr are 3 of the most popular…

#searchengine #solr #elasticsearch

Predicting demand at Airports 🤟

The taxi operators at airports face a problem: if there is not enough demand, drivers waste their time. If there are not enough taxis though, the experience for riders is unpleasant. Uber is trying to solve this problem with Machine Learning and predictive models. In this article you will find the formulas and the reference architecture for it, but I still wonder why checking out the arrivals table is not sufficient.  

Demand and ETR Forecasting at Airports
Airports currently hold a significant portion of Uber’s supply and open supply hours (i.e., supply that is not utilized, but open for dispatch) across the globe. At most airports, drivers are obligated to join a “first-in-first-out” (FIFO) queue from which they are dispatched. When the demand for tr…

#ml

Operating Lambda: Performance Optimization 👷‍♂️

When you start using Lambdas, the first problem you observe is a long startup time. A typical solution is to schedule an event which will ping your function every once in a while to ensure a warm environment. However, this solution is not universal: it does not help during increased load or starting a Lambda in a different AZ. Grab the read about available performance optimizations for Lambda and the anatomy of Lambda's start.

Operating Lambda: Performance optimization – Part 1 | Amazon Web Services
This post is the first in a 3-part series on performance optimization in Lambda. It explains how the Lambda execution environment works and why cold starts occur.

#cloud #aws #lambda #serverless

The complete guide to System Design in 2023

And another guide to System Design Interviews! This one will get you through all the foundational terms you need to be aware of to pass an interview. It covers storage types, scaling, redundancy, patterns, databases and many more. Follow it on!

The complete guide to System Design in 2023
System Design is the process of defining the architecture, interfaces, and data for a system that satisfies specific requirements. It requires a systematic approach to building and engineering systems. A good system design requires you to think about everything in an infrastructure, from the hardwar…

#interview #fundamentals

A Simple Framework for Architectural Decisions

It sounds a bit too pretentious, but this article covers some clues you would like to adopt to simplify the technical decision-making in your organization. Those include building a Tech Radar,  formulating the best practices like REST API or Observability standards, and documenting the decisions in the form of RFCs and ADRs. Grab more details inside!

A Simple Framework for Architectural Decisions
This article describes a framework for making architectural decisions using three building blocks: The company’s own Technology Radar; Technology Standards; and Architecture Decision Records (ADRs). The framework clarifies decision-making, team involvement, and information on already made decisions…

#architecture #documentation

Migrating 125.000 users from Auth0 to Supabase

Kevin Peters decided to share the experience of Parqet company of migrating user authentication and authorization from Auth0 to Supabase. The author highlights the reasons for the migration, explains the process of setting up Supabase, and provides an in-depth analysis of the migration process. The article also compares the pricing of Auth0 and Supabase. It serves as a helpful guide for anyone looking to migrate user authentication and authorization from Auth0 to Supabase.

Migrating 125.000 users from Auth0 to Supabase
Over the course of a few weeks, we gradually migrated 125k users with social auth and email+password logins from Auth0 to Supabase…

#casestudy #migration #authentication

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