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...
The Visual Collaboration Platform for Every Team | Miro
Miro is the ultimate tool for remote collaboration. With Miro, you can easily create and collaborate on visual content with your team, no matter where you are. Miro offers a range of features, includi...
arc42 - All-in-one template for software architecture documentation
arc42 is a proven and pragmatic approach to construct, communicate and document software architecture. It provides a flexible but systematic template for documentation and communication that supports ...
Software Engineering Best Practices: Documentation, Test Data Creation, and Database Migrations
In this post, Simon Willison discusses some recommended software engineering practices for development teams. He emphasizes the importance of internal documentation, and how storing documentation in t...
The Lost Art of Architecting — Part 1
In this article, Nicholas Frush shares his thoughts on the lost art of architecting software systems. He argues that the rise of the cloud has not eliminated the need for paying attention to how you d...
The One Person Multiple Personalities Problem with Microservices Architecture
In this article, Itiel Maayan discusses the challenges of managing a person who appears and is managed as multiple entities in a system, worsened by the move to microservices architecture. Maayan prop...
Problem Solving Strategies for Microservice Architecture Part I
In this article, Metin Barkın Narin discusses the distributed transaction management problem in microservices architecture and suggests two approaches for addressing the problem: two-phase commit (2PC...
Behind the scenes: McDonald’s event-driven architecture
Discover McDonald’s journey in developing a unified platform enabling real-time, event-driven architectures. This two-part post walks you through the implementation journey, explaining how it works an...
System Design Mind Map for Building Distributed Systems
This article discusses how system design is foundational in building software architecture for distributed systems, and covers essential knowledge areas necessary for preparing for a system design int...
Design Principles For Microservices Architecture
Microservices architecture is a service-oriented architecture that structures an application as a collection of small autonomous services designed around a business domain. This blog covers the fundam...
Practical DDD, Part 1 — Setting The Right Foundations
In this article, Hila Fox talks about the importance of setting the right foundations for companies that grow rapidly using practical Domain-Driven Design (DDD) concepts. She explains how Augury creat...