Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Azure Cosmos DB Caching Tips

I’ve started to use Azure Cosmos DB a bit more over the last couple weeks and I’m really enjoying it.  The first real world scenario that I hit was needing to implement optimistic concurrency. This led me straight into I discovered two caching optimizations you can make for better performance accessing individual documents. Caching SelfLinks If you are using the .NET SDK, each document contains a unique SelfLink property.  This is represented by the _self property in the JSON. View the code on Gist. They are guaranteed to be unique and most importantly immutable. Because the SelfLink is immutable we… Read More »Azure Cosmos DB Caching Tips

Optimistic Concurrency in Azure Cosmos DB

I’ve started working on new side project using ASP.NET Core.  I wanted to try a new datastore and decided to give Azure Cosmos DB a try. This project isn’t doing anything complicated but does contain enough real world use cases that can give me an idea of how the API works. Concurrency The first thing I needed to implement was how to handle concurrency.  Specifically optimistic concurrency. In an optimistic concurrency model, a violation is considered to have occurred if, after a user receives a value from the database, another user modifies the value before the first user has attempted to modify it.… Read More »Optimistic Concurrency in Azure Cosmos DB

Collaborating with other User Groups

A few months ago I decided that collaborating with other user groups might be a really good way to add new ideas and an outside perspective on the local .NET Developers Group that I organize. Back in November 2016 I was attending Detroit Dev Day.  I was planning on meeting with with Reid Evans who was doing a talk “A Developer’s Journey From OO to FP”. Like most conferences, the best part was the hallway discussions.  I was sitting around and talking about user groups with Reid, Ken Cenerelli and Tom Walker. Tom mentioned that he had recently done meetup… Read More »Collaborating with other User Groups