Building scalable, cloud native, distributed systems in .NET
Monday 06 May
09:00 - 17:00
Building cloud native distributed systems that are resilient and scalable can be really hard. The number of variables that need to be balanced to build a system that works harmoniously and scales with your customer's needs can be daunting, but it doesn't have to be. Join Nick on this one-day journey to learn how to build scalable and resilient services in .NET using the latest industry standards and bleeding-edge practices.
This workshop will teach you everything you need to know to start building distributed systems in .NET and ASP.NET Core and how to combine multiple services to choose the right tool for each use case you might encounter. We will define clear requirements for a system and proceed to build the entire system using all the services and tools you will use to build your own systems later at your company.
Topics
- Defining the system we need to build with clear requirements
- Introduction to RESTful Services
- Understanding Monoliths and Microservices
- Using relational databases
- Using NoSQL databases
- Understanding what “cloud native” means
- Understanding event-driven architecture
- Using Messaging and Queues
- Using Events
- Using Redis as a distributed cache
- Implementing observability with OpenTelemetry
- Using .NET Aspire to run our system locally
- Dockerizing our system
- Deploying services to the cloud
- Introduction Performance testing
Who is this workshop for
This workshop is for backend developers with some experience writing web applications using C# and ASP.NET Core. You must be able to read, write, and debug C# at a decent level and have some experience with ASP.NET Core.
Preparation:
1. [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) or [JetBrains Rider](https://www.jetbrains.com/rider/download/) or [Visual Studio Code](https://code.visualstudio.com/download) with the C# Dev Kit installed
2. [.NET 8](https://dotnet.microsoft.com/en-us/download)
3. Latest .NET Aspire Workload
4. [Docker](https://docs.docker.com/get-docker/) or [Podman](https://podman.io/)
5. [Minikube](https://minikube.sigs.k8s.io/docs/)
6. [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)
7. [Lens](https://k8slens.dev/) or [k9s](https://k9scli.io/) (Optional)
8. [Insomnia](https://insomnia.rest/) (Optional)
9. A [Free Tier](https://azure.microsoft.com/en-us/pricing/free-services) Azure Account
Nick is a Content Creator focusing on C# & .NET and an Author and Founder of the educational platform Dometrain.