Event Versioning: Pros and Cons of the Most Common Options
You have decided to adopt an event-driven architecture, modeled your events, and decided what style of event you will expose. One of the aspects that I recommended was for you to add to the events the...
Rethinking Architectural Boundaries: From Layered to Vertical Slice Architecture
When it comes to building strong and reliable software and creating a sustainable design, the aim should always be to reduce complexity and make the code easy to understand. This article discusses the...
How to design software architecture pragmatically
I’ve run numerous workshops in recent years. It’s intriguing to see different ways people solve the same problem. Some start from general vision and go into details, some the other way. Each approach ...
Cell-Based Architecture — Architecture Pattern
Cell-based architecture in computing involves designing systems that consist of interconnected cells, each cell capable of executing tasks independently. Like the cells in a biological organism, these...
The Architecture Heat Map - Communicating Progress for Software Projects
Communicating progress and plan of action for a software project is important to coordinate other aspects of the project. Lack of transparency can cost time and money. Using architectural diagrams in ...
Evolution and Systems Architecture | by Ivan Padabed | system5.dev | Sep, 2023 | Medium
The “Evolutionary Architecture” phrase has already been coined by Neal Ford, Rebecca Parsons, and Patrick Kua in their excellent book “Building Evolutionary Architectures,” but I would like to add a n...
Ultimate .NET Project Setup with Clean Architecture and Domain-Driven Design
An opinionated ASP.NET Core solution setup for creating web applications using Clean Architecture and Domain-Driven Design principles. This setup follows all the latest modern practices and includes f...
Map Camp: Weird Mapping - How to Create a Revolution
Dave Anderson spoke at Map Camp on How to Create a Revolution. The event includes talks and workshops about mapping techniques used in organizations. The session discussed mapping essential elements f...
Complex Software is an Occupational Health Hazard!
!Complex Software is an Occupational Health Hazard! # Whaally.Domain [](https://www.nuget.org/packages/Whaally.Domain) The goal of the `Wh...
Mapper Contexts & Supercontexts: Decoupling Domain-Specific and Domain-Generic Bounded Contexts
You’re building a new system and two members of your team propose alternative architectures for sending notifications. The first developer proposes a push model: bounded contexts should instruct the n...
Easily build resilient applications using distributed durable async/await
Restate allows you to easily build resilient applications by providing distributed durable async/await functionality. With Restate, you can write RPC handlers that execute reliably, recover partial pr...
Software Architects are building on Centuries of Architectural Discipline
After my son was accepted to architecture design school, I became fascinated with the connection between designing physical structure and designing complex software. Of course, there are unique aspect...
Best Observability Tools for Microservices
Microservices architecture has become popular among developers due to its scalability and flexibility. This article discusses 10 observability tools tailored explicitly for microservices architectures...
StranglerFigApplication - Legacy Rehab and Application Architecture
When rewriting an important system, the Strangler Fig Application metaphor offers a gradual approach, reducing risk and allowing new value to appear earlier. By gradually creating a new system around ...
The Magic of Message Orchestration
Message orchestration can be a key to implementing component models that deliver on the promise of microservices without the complexity and performance penalties so frequently paid. A message orchestr...
5 Ways to Standout as an Architect
Forget about technical mastery; focus on breadth. Improve communication skills. Learn to capture impeccable notes. Develop analytical problem-solving skills. Prioritize delivery without compromising q...
Graphic Design for Software Engineers and Architects
As engineers, we often use technical diagrams that can be difficult for others to understand. Graphic design can make these diagrams clean and visually appealing, improving communication and comprehen...
The Past, Present, and Future of Data Architecture
A journey through time and the introduction to data mesh. Becoming a data-driven organization remains one of the top strategic goals of many companies. Data-driven means placing data at the center of ...
Outbox pattern with session per request
The outbox pattern ensures that some actions are going to happen if and only if some other set of actions succeeds first. The most common implementation is a transactional outbox. Here, actions, expre...
Scaling Your Artifacts With Your Team
The term microservices has become ubiquitous in our industry, promising framework freedom and stability through asynchronous communication. However, the consensus on microservices as a superior archit...