Blog

The Importance of API Versioning: Ensuring Compatibility and Flexibility
Brad Jolicoeur - 05/18/2023
Not versioning APIs is one of the biggest issues I see with teams that attempt to implement a distributed architecture. Not supporting multiple versions of an API means all the teams are coupled together and requires downtime to deploy. I've actually seen where this is actually listed as a reason to use a monolith instead of a distributed architecture.

Steeltoe Microservices Framework
Brad Jolicoeur - 11/13/2020
- tags:
- Microservices
If you have not run across Steeltoe, it is a set of libraries that address most of the cross cutting concerns you deal with when building microservices. Logging, Configuration, Health Checks, Traces, Service Discovery, etc.

Exploring Rebus
Brad Jolicoeur - 10/23/2020
Recently, I became aware of two other options in the .NET Service Bus space that I felt deserved a closer look. Rebus and Brighter. Since Rebus seemed to be similar to NServiceBus and MassTransit I started there.

My Favorite NServiceBus Features - Message Encryption
Brad Jolicoeur - 10/20/2020
Property encryption is one of my favorite NServiceBus features in that it provides a pattern for implementing message encryption as well as providing a concrete basis for addressing the concerns of compliance and security teams. Additionally, once your endpoint conventions are configured, it is easy to live with since it gets implemented only where necessary and in a consistent way.

My Favorite NServiceBus Features - Transports
Brad Jolicoeur - 10/02/2020
One of the foundational features of NServiceBus is the support of multiple queuing technologies known in NServiceBus parlance as a Transport. NServiceBus transports encapsulate the logic required to connect to their respective queue technologies to produce and consume messages.

My Favorite NServiceBus Features - Testing
Brad Jolicoeur - 09/09/2020
Testing is one of the more challenging aspects of message based systems and is probably one of the top reasons it is common to see http endpoints instead of messaging in microservices.

My Favorite NServiceBus Features - Message Headers
Brad Jolicoeur - 09/04/2020
There are a number of subtle but important aspects of message based systems that are not apparent until after you have started building one and running it in production. One of those aspects is message headers. NServiceBus message headers contain metadata about each message that will help you correlate, route and trace the history of a message in your system.

My Favorite NServiceBus Features - Message Retries
Brad Jolicoeur - 08/28/2020
Message retries are one of the most powerful patterns in message based systems. Retries are probably one of the more compelling reasons to use a message based architecture and make a system that uses them significantly more durable and accurate.

What are Architectural Decision Records (ADR)?
Brad Jolicoeur - 08/21/2020
- tags:
- Architecture
One of the most painful parts of starting with a new team is to learn all of the nuanced patterns and practices you must adhere to. Often these nuances are not documented and to make matters worse, the common response given for why is, "that is just how we do it here". The tribal knowledge runs so deep it starts to look like cargo cult culture and in some cases it is just that.