.NET Conf - Focus on Microservices Summary Part 3


Why You Should Care About Microservices

by Brendan Burns

Brendan Burns a co-creator of Kubernetes talked about microservices and why you should care about them. The answer is that you shouldn’t care about microservices. Rather you should care about your users, the performance of the application, and how easy it is to fix bugs.

If you have a monolith and it is working for you, you shouldn’t change it. Don’t change working applications only to be hip or to have some buzzwords on your CV. (CV driven development)

Building software as a team is hard. Microservices are about scaling teams. The ideal team is around 5-6 people, (Amazon uses the term the two-pizza team) because you can sit in one room and have a personal relationship with your colleagues. The code is understandable (the amount of code), you can understand the product, you can understand each other and you are all on the same team (No blame game between teams).

Most projects require an army (eventually), the problem is that armies are usually not agile. Fortunately, software is modular so you can build small components and piece them together. Think early on how you can scale your web application, database, and all other needed resources. Scaling software is easy compared to scaling teams.

Define the boundaries of your team and also your microservices. Be aware of having too many services supported by one team. Additionally, defining boundaries helps with decoupling responsibilities and also helps to split functionality into microservices. Another advantage of decoupling is that it brings teams closer together and this should enable them to work more efficiently.

Some teams might try to use Java, a new fancy framework or PHP. It is possible to use a different technology for each service but you should try to avoid it. Define core infrastructure like frameworks languages and deployments.

You can find the start of the video here.

Stay Sharp | Focus on microservices

by Kelsey Hightower

Kelsey Hightower, Mr. Kubernetes, didn’t talk about Kubernetes at all in this session. Instead, he talked about what microservices are and that there is no real answer. There is also no answer to how small a microservice should be. His rule of thumb is that you should focus on the fundamentals of your services and have the service as small as possible but don’t focus too much on that.

More important than the size of a microservice is that you have logging between services in place and even more important to have tools for debugging.

You can find the start of the video here.

DevOps, Waffles, and Superheroes - Oh My!

by Jessica Deen

“DevOps is the union of people, process, and products to enable continuous delivery of value to our end users” - Donavan Brown

Kubernetes was built to automate scaling, deployments, and management of your application. Then Jessica gives an introduction to containers and Kubernetes. After the introduction, she shows a demo on how to debug a microservice in Kubernetes with an isolated environment and then have a PR workflow. This creates an isolated environment for this PR so everyone checking the PR can see the bug fix.

Jessica recommends the following Kubernetes best practices:

  • Build small containers with multistage builds
  • Use namespaces, helm charts, and RBAC
  • Implement Liveness and Readiness Probes for health checks

You can find the start of the video here.

Evolving .NET Framework Monoliths with .NET 5 and Kubernetes

by Elton Stoneman

In this session, Elton talks about how to migrate existing .NET framework monoliths to .NET 5. He points out the following three options:

  • Lift and shift
  • Introducing service facades
  • Encapsulating the service

Reasons for splitting up a monolith are:

  • Modern portable platform
  • New technology stack
  • Service boundaries

Then he shows how to get a .NET 3.5 application into Kubernetes.

You can find the start of the video here.

Migrating .NET Framework Web Apps to Azure

by Carey Payette

Carey showed in this session a demo on how to migrate an ASP.NET Web Form application with a SQL database to Azure App Services and Azure SQL Database. She also showed other possible migration paths using different Azure services.

You can find the start of the video here.

Building & Debugging Microservices faster using Kubernetes and Visual Studio

by Shayne Boyer

In the last session of the day, Shayne Boyer showed how to debug microservices within Visual Studio that are running in a Kubernetes cluster on Azure.

You can find the start of the video here.