Advanced Microservices with .NET

During Red Hat Summit, this past May I along with Scott Hunter from Microsoft took part in a session titled Microservices and OpenShift with .NET Core and .NET Standard 2.0.  I went first and talked about building microservices.

This was an overview demonstrating the evolution through running a program at a command line, a .NET Core program in RHEL. Once completed I then showed just how easy it was to take the image and put into OpenShift and scale it up and down by running it through Docker.

Blue Green Deployment

Next was a demonstration of how to do a blue green deployment, where you just roll out a new version but you can quickly switch back to the old version. Reducing downtime and risk by running two identical production environments called Blue and Green.

Canary Deployment

Which is where you bring out a new version and you slowly migrate over to it. The concept behind a Canary release is to deploy to a subset of nodes, test it, and then roll the change out to the rest of the nodes. This serves as an early warning indicator, which minimizes the impact: if the canary deployment fails.

Circuit Breaker Pattern

I mentioned what’s called the Circuit Breaker pattern, for microservices, and showed how a program can graciously respond to errors on a server without having your system go down.

.NET Core 2.0 and .NET Standard 2.0

Scott talked about .NET Core 2.0 and .NET Standard 2.0…Now there’s a huge growth in API coverage within .NET Core. To illustrate, in .NET Core 2.0, it covers 70 percent of the APIs in .NET Framework compared to .NET Core 1.1, which covered 16 percent.

This will help make the existing code compatible and work on Core without modification, along with the plan going forward for .NET Core. Including next year, a thing called .NET Native where you can compile a .NET program into one executable, much like in the Go language. Now you get the program, and a bunch of dependencies, in one directory. In the future, it will just be one program.

The number one question was when will 2.0 be out, the answer is later this summer, that was the key takeaway from the session. This is the one people are waiting for.

For additional information and articles on .NET Core visit our .NET Core web page for more on this topic.

 If you know the basic commands of Linux then download the Advanced Linux Commands Cheat Sheet, this cheat sheet can help you take your skills to the next level.