Architecture Weekly #37

Architecture Weekly Issue #37. Articles, books, and playlists on architecture and related topics. Split by sections, highlighted with complexity: 🤟 means hardcore, 👷‍♂️ is technically applicable right away,  🍼 - introduction to the topic or an overview. Now in telegram as well.

WARNING 🇺🇦

It's already been 221 days since Russia's crazy, brutal, 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.

Architecture for Flow with Wardley Mapping, DDD, and Team Topologies 👷‍♂️

With this talk I learned about Wardley Map - a tool to create the strategic design of an application or a service. Having introduced that, Susanne Kaiser shows how to apply it to online learning domain, add a bit of Domain-Driven Design, a grain of Team Topologies to come up with a well-though solution.

#ddd #devops #strategy #video

Smart Endpoints and Dumb Pipes 🍼

Moving from a monolith to microservices requires some mediator to facilitate the interaction between services. The choice you face is either to have some smart common bus which is basically an idea of Enterprise Service Bus or move the communication logic to the nodes themselves, and make the bus as dumb as possible. The article nicely explains the choice.

What Does ‘Smart Endpoints and Dumb Pipes’ Mean? | Nordic APIs |
“Smart endpoints and dumb pipes” sums up the theory around optimal inter-service communication for microservices architectures.

#microservices

The right does of resilience 👷‍♂️

As with any Quality Attribute, resilience is usually achieved by applying the related tactics or calling them other way, patterns. You apply healthchecks here, circuit breakers there, add blue-green deployment etc. But the number of patterns is high, and if you apply all of them, you will overcomplicate your system. Uwe wrote an incredible post with resilience patterns and examples of subsets applied in different systems.

The right dose of resilience
Finding the sweet spot

#patterns #resilience

Open Sourcing Derived Data Platform of LinkedIn 👷‍♂️

LinkedIn announced Venice - their platform of data for almost 2000 of their datasets - to go opensource. In this article they share an overview how both writing and reading happens with Venice as well as how they operate it.

Open Sourcing Venice – LinkedIn’s Derived Data Platform
We are proud to announce the open sourcing of Venice, LinkedIn’s derived data platform that powers more than 1800 of our datasets and is leveraged by over 300 distinct applications. Venice is a high-throughput, low-latency, highly-available, horizontally-scalable, eventually-consistent storage syste…

#opensource #casestudy

Web Performance Stort at Spotify 👷‍♂️

Spotify cares a lot about end-user web performance and tries to optimize it. The task is not simple and starts with understanding how to measure the user experience. Find an article in their engineering blog describing the important metrics and technologies used to gather them.

#performance #casestudy

Adventures in Building Reliable Distributed Systems with Liquid Haskell 🤟

Distributed Systems have many problems like replication issues, consistency, strong convergence etc. Even if you find a solution, it is very hard to prove it's working. Lindsey Kuper gave a keynote on how Haskell can be used to build up a type system to verify the distributed systems properties. A hardcore butincredibly useful article with the transcription of the said talk below.

My FLOPS 2022 keynote talk: “Adventures in Building Reliable Distributed Systems with Liquid Haskell”
Back in May, I gave the opening keynote (my first keynote talk!) at the FLOPS 2022 conference. I talked about the work we’ve been doing in my group on using Liquid Haskell for verifying the correctness of distributed systems.

#formalverifcation #distributed

Design a Geo-Spatial index for real-time location search 👷‍♂️

You can find geospatial index systems in many apps now from navigation apps to food delivery. Find an article with an example of system design for this kind of system. Storage calculations, network capacity, components and of course reasoning included!

System Design: Design a Geo-Spatial index for real-time location search
Introduction

#systemdesign

Redis Explained 🤟

Redis is a very common caching solution. Please find a detailed explanation what types of redis installation are out there for you, what is Redis HA and Redis Sentinel and when you would like to apply each of them.

Redis Explained
A deep technical dive into all things Redis. Covering various Redis topologies, data persistence and process forking.

#redis #systemdesign

How to choose a cloud for your Saas? 👷‍♂️

Each new system faces a problem where to host their resources and what part of the system should be either bought or built from scratch. An article on InfoQ can help you making a proper decision taking into account the price, time-to-market, level of control and others.

Choosing the Right Cloud Infrastructure for Your SaaS Start-up
As a solutions architect, I have been designing SaaS applications for years and I have seen start-ups struggle to find the right cloud infrastructure and improve their product offering. These experiences prompted me to write this article as a tool to help companies make a pragmatic fact and data-dri…

#cloud

Modern Database checklist 🍼

With high level of loads, requirements of high availability and other challenges, the databases are now expected to provide a lot of capabilities. Haley Kim from Redis Blog described shortly what we expect from databases nowadays.

9 Things Your Database Must Do
To keep up with the evolving needs of modern enterprises, your database platforms have to do more than ever before.

#databases

Liked the newsletter? Consider helping to run it at Patreon or Boosty. Patrons and Boosty subscribers of certain level also get an access to private Architecture Community. Big thanks to Nikita, Anatoly, Oleksandr, Dima, Pavel and Robert for already supporting the newsletter.