# 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...
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...
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. ...
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...
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...