A Primer on Distributed Systems Observability
Explore the complexities of modern distributed systems architectures with this informative post by Boris Zaikin. Discover what makes a good observability platform and what the observability subsystem ...
How to Choose the Right API Gateway
Choosing the right API gateway is crucial to the success of your application. With so many options available, it can be overwhelming to make a decision. In this article, we discuss the factors you sho...
C4 Model: Defining Your Systems Within Your Business
Learn how adopting the C4 model can help you define your software architecture system. Defining layered abstractions is critical to getting started. Read on to find out the importance of mapping your ...
Concerned about Serverless Lock-in? Consider Patterns!
Design patterns provide a technology-neutral vocabulary to describe common solutions and design trade-offs for developing software. Despite rapid technology evolution, many design patterns pass the te...
Hexagonal Architecture - A Clean Architecture for Secured Software Design
Hexagonal Architecture, also known as Ports and Adapters architecture, is a clean architecture approach that focuses on the separation of concerns and information hiding principles. By putting inputs ...
Workflow Orchestration with Temporal and Spring Boot
This article discusses the use of Temporal and Spring Boot for workflow orchestration in microservices. It covers the basics of workflow orchestration, implementing saga with Temporal, and using Sprin...
Event Driven Architectures vs Workflows (with AWS Services!)

The video explains two ways to coordinate process flows in distributed applications: an event-driven architecture and a workflow. The example of an e-commerce order process is used to demonstrate the ...
Awesome Software Architecture
Curated list of awesome articles and resources to learn and practice software architecture, patterns and principles. This repository will be updated continuously, keep yourself up to date. This reposi...
10 Reasons on why you’re not and should not use Clean Architecture in .NET
Clean Architecture has been around for years and if you’re a .NET developer, you’re probably familiar with it. But is it always the best approach? In this article, Anthony Trad explores 10 reasons why...
Orchestrating Data/ML Workflows at Scale With Netflix Maestro
At Netflix, data and machine learning (ML) pipelines are central to the business, representing diverse use cases that go beyond recommendations, predictions, and data transformations. In this blog pos...
AVOID Entity Services by Focusing on Capabilities

Entity Services are services that are centered around an Entity. For example, a CustomerService or a ProductService. Most times these services focus on data and CRUD operations. These services can c...
Introducing A New Cross-Cutting Architecture Diagram: The Critical Path
This new architecture diagram spans levels 1–3 of the C4 model to give you the fastest view at your system possible. Architecture diagrams help create a shared understanding about application architec...
Architecture Modelling & Diagramming As Code
In this article, Christian Eder discusses the increasing trend of defining infrastructure through general purpose programming languages instead of configuration languages. He explores the benefits of ...
Ilograph Interactive System Diagrams
Welcome to the future of diagramming with Ilograph interactive system diagrams. Show all the relevant details of your systems without the constraints of a traditional diagram. Your systems must be vie...
Should that be a Microservice? Keep These Six Factors in Mind
In todays rapidly evolving tech landscape, the decision to use microservices can have a significant impact on an organization. With six key factors to consider, this article provides a comprehensive g...
4 Common Mistakes in Event-Driven Systems: An Exploration
In recent years, event-driven systems have gained popularity among large companies. This article explores the main reasons behind this trend and identifies four common mistakes that can occur when imp...
System Design: Hotel Booking (with FAANG Senior Engineer)

The hotel reservation problem is a common scenario in distributed systems and is covered in various resources including Ticketmaster and Grokking material. Similar problems include Airline ticketing, ...
Shared Libraries - Design and Best Practices
Microservices architecture has brought many benefits to software development, such as faster scaling and development, but also introduced difficulties like communication and code duplication. Shared l...
Expert Talk: Cloud Chaos & How Contract Tests Can Help • Holly Cummins & Kevlin Henney • GOTO 2022

Holly Cummins, senior principal software engineer on the Quarkus team at Red Hat, discusses the challenges that come with cloud adoption in her upcoming GOTO Amsterdam 2022 talk titled Cloud Chaos and...
Modelling vs Diagramming Software Architecture
When it comes to developing software, communication is key. Tools such as diagrams and models aid in understanding and sharing ideas about software architecture. While standalone diagrams are great fo...