home > training > DEV415: Microservices with ASP.NET Core and Docker

2 Student Comments

DEV415: Microservices with ASP.NET Core and Docker


  • 4 Days
  • Learn about Microservices
  • Understand the role of containers
  • Create ASP.NET Core Linux and Windows containers
  • Replay™ Class Recordings Included

Interested in scheduling a date for this course?
Request A Date
  • This field is for validation purposes and should be left unchanged.

Course Description

Microservices provide an architectural pattern that allows applications to be written in a more flexible and re-usable manner.  They offer several benefits such as better re-use, simplified maintenance, ability to handle change requests and business rules changes more easily, independent versioning and deployment of services, increased productivity for new and existing team members, the option to scale out one or more application features, integration between multiple technologies, and much more. These benefits and several others will be discussed throughout the course so that students understand the overall goals of Microservices and where they work well in enterprise-scale applications. Challenges associated with Microservices are also discussed since we believe it’s critical to understand not only the pros, but also the cons and associated challenges.

The course starts out with an introduction to Microservices and focuses on key concepts that developers and architects need to know before applying Microservices in their applications. Docker concepts and commands are then covered including the role of images and containers, the need for volumes, and key commands that can be used to work with Docker. From there a discussion of ASP.NET Core MVC and Web API is covered and students will learn how to run ASP.NET Core applications in both Linux and Windows containers. Finally, all of the concepts covered in the course are brought together to show the process of converting a Monolithic application to a Microservices application using ASP.NET Core, RESTful service concepts, and Docker images and containers. This includes actively using Docker commands, writing custom Dockerfiles, creating Docker Compose .yml files to build images and orchestrate containers, running Linux and Windows containers, and more. By the end of the course students will understand the case for Microservices and how they can be implemented.


The Case for Microservices

  • Overview of Microservices
  • Microservices vs. SOA
  • Pros and Cons of Microservices
  • Client-side vs. Server-side Routing
  • Planning for Microservices
  • Microservices Reference Application


Getting Started with Docker

  • Application Deployment
  • Shipping with Containers
  • Getting Started with Docker
  • Benefits to Developers and DevOps
  • Overview of Images and Containers
  • Layered File System
  • Containers vs. Virtual Machines
  • Docker and Microservices


Docker Images and Containers

  • Container Registries
  • Working with Images


Working with Containers

  • Getting Started with a Custom Dockerfile
  • Building an Image
  • Updating an Image
  • Pushing an Image to a Registry


Containers and Volumes

  • Components Overview
  • Source Code and Containers
  • Introduction to Volumes
  • Creating a Volume
  • Inspecting Volumes
  • Defining a Volume in a Dockerfile
  • Local Source Code and Containers


Orchestrating Containers with Docker Compose

  • Container Orchestration
  • Getting Started with Docker Compose
  • The docker-compose.yml File
  • Docker Compose Commands


Getting Started with ASP.NET Core

  • Getting Started with ASP.NET Core
  • Configuration and Middleware Pipeline
  • Controllers and Views
  • RESTful Services with Web API
  • Data Access with Entity Framework Core
  • OS X Cross Platform Development


ASP.NET Core and Docker

  • Docker and ASP.NET Core
  • Creating ASP.NET Core Linux Images
  • Creating ASP.NET Core Windows Images
  • Visual Studio Docker Features
  • “Containerizing” .NET Framework Applications
  • Running and Debugging Containers


Monolithic to Microservices

  • Monolithic Applications Review
  • Microservices Review
  • Communicating with Microservices
  • Converting a Monolithic Feature to a Microservice
  • Creating Dockerfiles and Images
  • Creating the Docker Compose File


Microservices Orchestration and Monitoring Tools Overview

  • Docker Swarm
  • Kubernetes
  • Marathon
  • cAdvisor
  • SysDig

This course is designed for .NET developers looking to use Microservices and Docker containers in their ASP.NET Core applications.


Attendees must have prior experience working with C# to take this class. A minimum of 6-months of hands-on C# experience is recommended to get the most out of the course. Prior experience with ASP.NET Web Forms, MVC or Web API is highly recommended.

What You Will Learn
  • Learn what Microservices are and how they can be used
  • Understand benefits and challenges that Microservices present
  • Learn how to move Monolithic applications to Microservices
  • Understand the role of containers and how they can be used with Microservices
  • Learn how to work with Docker Community Edition
  • Use Docker commands to work with images and containers
  • Understand how to create custom Dockerfiles
  • Convert Dockerfiles into custom images
  • Work with and use Docker volumes
  • Create docker-compose.yml files
  • Build multiple images using Docker Compose
  • Orchestrate multiple Docker containers using Docker Compose
  • Work with Docker container registries
  • Learn about ASP.NET Core MVC and Web API features
  • Understand the role of Entity Framework Core
  • Create ASP.NET Core Linux and Windows containers
Student Comments (2)
Comments about the Instructor
"Everything was great!"
February 28, 2019 | DEV415 Student
Comments about enhancing the Courseware
"I wouldn't change it. I felt like I was able to pick up and learn a lot from this class."
February 28, 2019 | DEV415 Student