Ever get tired of updating nuget packages all over the place? I know i was. For a project that i’m currently working on we have a microservices architecture with about four domains. We have our own packages distributed by Azure DevOps that are used in all of these domains. The packages are EventSourcing.Shared, EventSourcing.Store, EventSourcing.PubSub and a few more.
Now every time we update the sourcecode of EventSourcing. We are required to open all different solutions and update all the packages to the latest version. This is a very tedious and boring task. Fortunately there is a tool out there that can help us do this, hello NuKeeper!
Imagine that your are building an application and you are using Azure. You are using one of these resources to develop your application in: Azure VM’s, Virtual Machine Scale Sets, Azure App Service or Azure Container Instances.
You have some secrets in your application and you don’t want to expose them in your source. One of the secrets you might for example have is a password for your database:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Obviously we don’t want this. This is a serious security risk which gives access to our database. To tackle this problem we are going to use Azure key vault. It allows us to safely store and retrieve secrets at runtime. This way we have no more secrets lying around and we are safe again.
C# 8.0 will introduce a new groundbreaking feature called Nullable reference types, this feature will change the way we currently develop our software in C# by making, you guessed it, reference types nullable.
This post serves as a practical introduction to the problem and how you should solve those problems.