How a Solution Architect thinks — Part 1, working with requirements
In this article, Anuar Nurmakanov discusses his journey from being a developer to a Solution Architect and shares his approach towards understanding Solution Architecture. Through an example, he cover...
EventCatalog: Documentation Tool for Event-Driven Architectures
EventCatalog is an open-source project designed to help you discover, explore and document your event-driven architectures. It uses Markdown and custom components to define events and services, and ha...
How a Solution Architect thinks — Part 2, designing the solution
In this article, Anuar Nurmakanov discusses how a Solution Architect thinks while designing a solution. The article covers assumptions and their importance for the architecture, how Solution Architect...
Event Storming: A Technique to Understand Complex Projects
Event Storming is a technique created by Alberto Brandolini that helps to understand more clearly the domain of the applications through the events generated by them. This technique takes place in the...
A new software architecture metamodel inspired by C4, Agile and TOGAF
In this article, Nikola Schou introduces a software architecture metamodel that is useful for agile digital transformation of complex enterprises, based on ideas from TOGAF and C4. The metamodel creat...
Design Docs - A Curated Library of Over 1000 Design Doc Examples and Templates
Design Docs is a community resource provided by Eraser that offers a library of over 1000 curated design doc examples and templates from more than 40 leading engineering organizations and open source ...
Architecture Notes - System Design & Software Architectures Explained
Learn about the systems you use every day from the engineers who built them with Architecture Notes. Get access to members-only content and updates when subscribing to our email newsletter. Explore to...
Understanding the Actor Model to Build Non-blocking, High-throughput Distributed Systems
In this post, we explore the intricacies of designing distributed scalable systems and discuss the related concepts. We use an example of an e-commerce website where multiple users are concurrently co...
Guide to Projections and Read Models in Event-Driven Architecture
In this article, Oskar Dudycz explains the significance of projections in event sourcing and how they allow the interpretation of a set of facts. He also highlights how data exploration, together with...
Breaking Big Applications into Small Applications
Modern software is increasingly complex, inflexible, and too minimalist. In this article, Erik Engheim reflects on the reasons for this and offers solutions on how to break big applications into small...
# NetArchTest - A Fluent API for .Net Standard to Enforce Architectural Rules in Unit Tests
NetArchTest is a .Net Standard 2.0 library that provides a fluent API to enforce architectural rules in unit tests. You can create tests that enforce conventions for class design, naming and dependenc...
Making Reliable Distributed Systems in the Presence of Software Errors
This thesis outlines a research program that began in 1981 to find better ways of programming Telecom applications. The central problem addressed is constructing reliable systems from programs that ma...
Two-Phased Commit and eXtended Architecture: The Basics
Two-phase commit (2PC) and XA (eXtended Architecture) are two important concepts in database transactions and distributed systems. In distributed transaction processing, a commit operation finalizes a...
Building Secure Microservices in Azure - Jimmy Bogard - NDC Oslo 2022

The speaker, Jimmy Bogard, discusses his recent project where he had to learn how to deploy secure microservices into Azure. He explains that the days of securing basic client-server applications with...
eBPF, Sidecars, and the Future of the Service Mesh
In this article, William Morgan, the CEO of Buoyant and one of the creators of the first service mesh, Linkerd, examines the potential of eBPF technology to replace Linkerds sidecar proxies entirely. ...
How io_uring and eBPF Will Revolutionize Programming in Linux
The Linux kernel has undergone a revolution with the introduction of two new interfaces - eBPF and io_uring. These interfaces are set to change the way applications work with and think about the kerne...
Creating Multi-Tier Subscriptions using C#
Its always best to give options to users when it comes to subscriptions. Today, we introduce a unique way to attach application features to a subscription. This post was written for the Sixth Annual C...
Going from Architect to Architecting: the Evolution of a Key Role
Software architecture has evolved significantly over time, moving away from a command and control approach to a coaching and mentoring role. In this article, the authors explore the challenges of tran...
Dont Fail Publishing Events! Event Driven Architecture Consistency

Consistency is crucial when working with event-driven architecture to ensure that relevant events are published when making state changes. This is because events are first-class and driving workflows ...
Azure Visualizer, aka AzViz
Azure Visualizer aka AzViz is a PowerShell module that automatically generates Azure resource topology diagrams by just typing a PowerShell cmdlet and passing the name of one or more Azure Resource Gr...