DevOps training: Architecting .NET solutions in Docker - DevOps style

Learn to design, architect and create a .NET solution that uses Docker at its core. This 2-day Foundation level training covers infrastructure, architecture, technology selection and build and release pipelines for Continuous Integration and Continuous Delivery (CI/CD). All based on the DevOps principles and practices.

From traditional to innovative applications

Are you looking for an easier way to create, deploy and run applications? Docker allows you to deliver software in a package (container). In this 2-day training we will cover the end-to-end design of a .NET solution intended to run in a Docker environment. We focus on the difference between a traditional .NET application running on web servers on-premises or in the Cloud. At the end of the training you will be able to apply DevOps practices to Cloud Based container solutions, like Docker. We use Microsoft tooling and technology, but the skills you learn can be applied in any technology stack.

This DevOps training is perfect for

If you are a Developer or Architect interested in new DevOps practices or you are wanting to learn the tooling for a Cloud Based Microsoft solution using Docker and Kubernetes, this training is for you! To get the most out of the two days, it is recommended you have experience in .NET Core or .NET and a basic understanding of C# programming language.

What will you learn during the Architecting.NET solutions in Docker training?

This Foundation level training is aimed at teaching you how to design, architect and create a .NET application using Docker, based on DevOps principles. Below you will find the basics as well as the specific topics we address.


Basic knowledge and skills

After two days you will know how to:

  • Work with different environments in the application lifecycle
  • Create Docker solutions with Visual Studio 2017 and Docker Compose
  • Build and work with Docker registries
  • Automate everything from infrastructure to deployment
  • Achieve full traceability from source code to production incidents
  • Practice finding and fixing a bug without downtime
  • Build and release your solutions to Kubernetes clusters
  • Architect .NET based web applications, and the APIs to use in a Docker cluster
  • Accelerate your inner development loop
  • Go from development to production in record-time with confidence
  • Monitor while running in production
  • Automate provisioning of infrastructure
  • Provision a Docker cluster infrastructure in Azure
  • Supporting DevOps practices with available tools

Specific topics

Containers and architecture

  • Distributed systems and microservices architectures
  • Bounded contexts and functional cohesion
  • Cloud-scale applications
  • DevOps as a development practice for teams and organizations
  • Container technology and cluster orchestrators

Docker 101

  • Container types and internals for Linux and Windows (slides)
  • Inspect Docker environment on local machine
  • Manage container images and instances
  • Working with container images

Dockerizing a .NET Core application

  • Run existing application
  • Add Docker support to .NET Core application
  • Run and debug applications from containers
  • Build container images
  • Running SQL Server in a Docker container


  • Experiment with networking
  • Create networks for application from CLI
  • Define multiple networks in composition

Working with environments

  • Compositions and Docker Compose
  • Create compositions for different environments
  • Change implementation to work with environment variables
  • Optimizing the developer workflow

Container registries and clusters

  • Push images to Docker Hub registry
  • Connecting to your cluster
  • Create and enhance cluster composition for Kubernetes
  • Deploy images to cluster
  • Run and manage composition in cluster


  • Add support for vaults to store secrets
  • Store user secrets during development
  • Use cluster secrets to store vault credentials

Azure DevOps build and release pipelines

  • Create build pipeline to build images
  • Create release pipeline for deploying images to registry
  • Deploy images to cluster
  • Traceability and security in build and release

DevOps practices for clusters

  • Monitoring and logging in clusters
  • Design patterns for resilient cloud applications
  • Health endpoints
  • Implement fault handling policies in .NET Core with Polly
  • Zero-downtime deployments

Infrastructure as Code

  • Create automation scripts to provision a Kubernetes cluster in Azure
  • Provisioning pipelines in VSTS

Your Trainer

This training is brought to you by our trainingspartner Xpirit. Xpirit works with experts in new Microsoft technology. The collective of ambitious Architects, Developers, Consultants, Trainers and Coaches operate in the following three areas: DevOps, Cloud Architectures and Cloud Powered Intelligence. Your Trainer is a Microsoft tech guru who enjoys sharing his or her experiences to help you work with the latest solutions.

Developer Learning Journey

Xebia Academy offers a wide range of training courses and workshops to help you discover new tools and learn new skills. If you are looking for an overview of our Developer Skills courses, check them out here. If you are looking for more .NET courses, you can find all the .NET courses we offer together with Xpirit here.

Yes, I want create and run apps in an easier way

After registering for this training, you will receive a confirmation email with practical information. A week before the training we will ask you about any dietary requirements and share literature if there's a need to prepare. See you soon!

What else should I know?

  • For the training you need to bring your own laptop with: Windows 10 or Windows Server 2016, Visual Studio 2017 and Docker Desktop tooling
  • You also need: an Azure DevOps account (free) and an Azure subscription (trial)
  • This course is brought to you by our training partner Xpirit
  • Travel and accommodation is not included

Get in touch

Our team is at your service

Get in touch! →

Or call +31 (0)20 760 9844