Blog

waterflower.jpg

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.
Read More
Flower

Exploring Marten

Brad Jolicoeur - 09/12/2021
My early exploration and subsequent experiences with building a solution that leverage Marten.
Read More
Fortress

Steeltoe Microservices Framework

Brad Jolicoeur - 11/13/2020
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.
Read More
cairn trail marker

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.
Read More
Gate

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.
Read More
Fisherman's Memorial

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.
Read More
Tug Pushing

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.
Read More
Pinelands Poof

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.
Read More
Directions

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.
Read More
Trail Blaze

What are Architectural Decision Records (ADR)?

Brad Jolicoeur - 08/21/2020
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.
Read More