Event-Driven Architectures vs. Event-Based Compute in Serverless Applications
In this post, we discuss Event-driven Architectures and Event-based Compute in Serverless Applications. We explore what an event-driven architecture is, its characteristics, and how it is distinguishe...
Software Architecture with Actors: Complexity and Asynchronous Design
This publication explores the properties of asynchronous architectures built with actors or event-driven services. The cycle covers complexity, distributability, and variants of actors. It also delves...
Software Architecture with Actors: Handling Messages
After defining actors and traversing the design space for systems built of actors, this article explores how actors handle messages. It makes a distinction between control flow and data flow and compa...
Software Architecture with Actors: Simple Systems
This article explores combining multiple actors and splitting actors by messaging interfaces in software architecture. The publication examines the relation between structural diagrams and common type...
Markwhen
Markwhen is a single-player puzzle game created by Lars Bergqvist. Its a game that challenges you to think outside the box and use your problem-solving skills to progress through increasingly difficul...
Modularizing React Applications with Established UI Patterns
Established UI patterns can solve complex UI design problems effectively, yet they are underutilized in frontend development. This article explores the benefits of applying UI building patterns in the...
ChatGPT and Software Architecture
In this article, David R Oliver explores the many uses of ChatGPT from OpenAI in software architecture, beyond just drawing lines and boxes. This AI technology has numerous applications, and the autho...
Cleipnirs Resilient Functions
Resilient Functions is a .NET framework that manages function execution despite failures, restarts, deployments, and versioning. The framework automatically retries function invocations across process...
How Actor Model/Actors Run In Clusters Facilitating Asynchronous Communication In Distributed Systems
This blog post continues the previous post on understanding the actor model to build non-blocking, high-throughput distributed systems. It explains how Akka runs actors in clusters in a non-blocking w...
Idempotent operations: Ensuring the Same State on Both Sides of Network Communication
Maintaining the same state on both sides of network communication can be challenging due to lost messages, answers, and backend exceptions. Retrying client requests may cause adverse consequences or e...
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 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...
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...