Blog

lighthouse-crop.jpg

Exploring Fast Endpoints: A Better Approach to Building APIs

Brad Jolicoeur - 05/21/2023
I recently stumbled upon a Library called Fast Endpoints while doing research and it immediately struck me as something I wanted to learn more about. I had started experimenting with Minimal APIs at the time. While I liked that Minimal APIs lower the entry point for simple API creation and are significantly more performant than MVC Controllers, they quickly turn your program.cs file into a jumbled mess with anything beyond trivial. The desire for code organization quickly pushes towards finding a sensible way to orient the code.
Read More
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
Elephant Rock

Event Sourcing with MartenDb

Brad Jolicoeur - 10/09/2021
I have been digging into MartenDb and found a sample of the Event Sourcing features included in MartenDb. In this article I walk through this simple Event Sourcing example and describe what is happening.
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