Blog Logo
TAGS

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...

Building Secure Microservices in Azure - Jimmy Bogard - NDC Oslo 2022

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...

Dont Fail Publishing Events! Event Driven Architecture Consistency

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...

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

Read more...