Modernizing .NET Monoliths with Docker and Kubernetes

Docker is a platform for running applications in lightweight units of compute called containers. You can run new and old apps in containers, and get increased portability, security and efficiency for your software. The platform supports the full development and deployment lifecycle – with Docker you can build, ship and run any app anywhere.

Docker has had production support for containers since Windows Server 2016, and Windows containers don’t need separate licensing. Migrating your apps to Docker is a great way to increase utilization in your datacenter, or to prepare for a move to the cloud with a managed Kubernetes service.

When your app is running in Docker, it’s easy to break features out and run them in separate containers, so you can modernize your architecture and adopt new patterns without a full microservices rewrite.

In this workshop you’ll use Docker on Windows Server* and learn:

    • how Docker containers work on Windows
    • how to package existing .NET apps using Docker
    • how to break features out from a monolith into separate containers
      • using event publishing to modularize the back-end of your app
      • using a reverse proxy to modularize the front end of your app
    • how to add monitoring to your containers
    • how to productionize your Docker images so legacy apps behave like new cloud-native apps
    • how to run distributed .NET applications in Docker Swarm and Kubernetes
    • how to run a full CI pipeline using Docker

* – you don’t need your own Windows Server machine, you’ll be provided with a VM in the cloud. You just need a Remote Desktop client so you can connect.