Object Calisthenics: Principles for Better Object-Oriented Code
Ready to up your coding game? Object Calisthenics will help you create code that is cleaner, more flexible, more agile, and more reusable. Object Calisthenics were first introduced by Jeff Bay in The ...
The Outbox Pattern in Event-Driven ASP.NET Core Microservice Architectures
Learn how to build a resilient architecture with RabbitMQ, C#, Entity Framework, and the Transactional Outbox Pattern. In this guide, you will create two microservices that use events to publish chang...
Software Architecture Patterns: Basics and Benefits Explained
In this 4-minute read, Orkhan Huseynli introduces the five basic software architecture patterns and their benefits. He delves into layered architecture, event-driven architecture, microkernel architec...
Using Azure Cosmos Persistence with NServiceBus
NServiceBus is a reliable messaging and workflow solution for the .NET platform that supports various queuing technology and datastore such as Cosmos DB. Cosmos DB is a fully managed NoSQL database se...
CloudEvents: A Specification for Interoperable Event Data
Events are ubiquitous in software development, but their various forms can create headaches for developers seeking to use or consume them across different platforms or services. CloudEvents offers a s...
Microservices: Rethinking the Way We Treat Data and Services
If you were to stumble upon the whole microservices thing, without any prior context, you’d be forgiven for thinking it a little strange. Yet, whilst the approach certainly involves many independent s...
Moving Beyond Monolithic Data Lakes to Distributed Data Mesh
Many enterprises invest in their next-gen data lake to democratize data, but common failure modes lead to unfulfilled promises at scale. Shifting from centralized paradigms to modern distributed archi...
Data Mesh Principles and Logical Architecture
Our aspiration to augment and improve every aspect of business and life with data, demands a paradigm shift in how we manage data at scale. While the technology advances of the past decade have addres...
Turning Microservices Inside-Out: Unbundling Databases and Utilizing Event Logs with Debezium
This article discusses the benefits and practicality of replacing relational databases with event logs for microservices architectures. Rather than replacing databases, the article suggests complement...
Turning Microservices Inside-Out
Learn from software leaders at early adopter companies on how they are adopting emerging trends at QCon New York (June 13-15, 2023). Explore topics such as architecture, design, AI/ML, data engineerin...
Accenture | Let There Be Change
Accenture is a global professional services company with expertise across a wide range of industries and services, including artificial intelligence, customer experience, digital transformation, cyber...
Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer
Learn how to implement an event-driven architecture using Apache Kafka as the event router. This article covers setting up the development environment and publishing messages to Kafka. Kafka is a hori...
Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer
In this article, the author discusses the implementation of an event consumer using Kafka for .NET developers with a specific focus on the Manager service. The article also covers the necessary NuGet ...
Architecture Ownership Patterns For Team Topologies. Part 1: A Business Architecture Model
This article discusses the importance of determining which parts of a product, user experience, and technology each team owns while organizing technology teams to build digital products and services. ...
Architecture Ownership Patterns for Team Topologies. Part 2: Single Team Patterns
This article discusses the concept of slicing up a system and dividing responsibilities among teams in an organization. It proposes different patterns for single team ownership, such as product varian...
Architecture Ownership Patterns for Team Topologies. Part 3: Multi-Team Patterns
This article discusses the need for higher-order abstractions in businesses as they grow, and how grouping small numbers of teams into patterns can improve understanding, communication, and management...
Miniservices as a Realistic Alternative to Microservices
This article discusses the concept of miniservices as a more manageable alternative to microservices, especially in the context of cloud native ecosystems, containers, edge computing, and serverless a...
Architecture Pattern: Orchestration Via Workflow - Building Layered Technology and Business Stacks
This article by Kislay Verma, published in The Startup, discusses the problem of modeling business processes that involve multiple steps across multiple systems. Verma proposes using an architecture p...
Building a reporting service in Microservice architecture
Learn how to generate reports from a distributed database in a microservices architecture using REST APIs instead of directly connecting to a database. This article explores the challenges of implemen...
Event-based Microservices: Error Handling
When working with a distributed microservice-based system, errors are bound to happen. These errors range from connectivity issues, serialization and deserialization problems, downstream system outage...