App Service
Web App for Containers
Service Fabric Mesh
Azure Kubernetes Service
Logic Apps
Azure Container Instances
Azure Event Grid
Azure DevOps

Modernize but how?

You need to add new functionalities to an ASP.NET MVC complex application but you don’t want to disrupt the actual code and you also need to rewrite some of the modules to gain better performance. You want to use this opportunity to introduce a modern architecture that will work alongside the current one. At the same time, management thinks that changes are taking too long and asked you to find a way to deliver new features at a quicker pace. You immediately thought about microservices but how do you add them to the current architecture without breaking the current application?

If you’re in this situation, this course is perfect for you. You’ll start by learning the concepts behind microservices, containers and serverless and how to incorporate them in a modernization project. You’ll learn about the Azure services that will help you implement this new architecture and you’ll be able to select the ones that will make sense for you and your team.

Throughout the course, you’ll modernize nopCommerce 3.9, a complex ASP.NET MVC open source ecommerce solution (no experience needed with nopCommerce). You’ll add new APIs written in ASP.NET Core running in Linux containers. You’ll learn how to implement the API Gateway pattern using Ocelot, an open source API Gateway written in C#. You’ll learn to push these containers to Docker Hub and the Azure Container Registry so you can host them in Web App for Containers, Service Fabric and Azure Kubernetes Service. You’ll also learn how to run serverless code using Azure Functions and Logic Apps and even run your containers in a serverless way with Azure Container Instances. Finally, you’ll learn to create CI/CD pipelines for your containers and functions using Azure DevOps.

At the end of this course, you will be able to design the right architecture and select the right Azure services for your modernization project.


Graduation Cap

denotes a topic with hands-on "live coding" activity

Day 1

  • Intro and class setup
    • Deploying nopCommerce on Azure Web Apps
  • The modernization Journey
  • Microservices concepts
    • Advantages and drawbacks
    • Units of deployment & scaling
    • Orchestrator
  • Microservices anti patterns
  • Useful microservices patterns
    • Retries/Circuit Breaker, API Gateway, Reverse Proxy
  • Container concepts
    • Using Docker for Windows
    • Containerize an existing application
    • Push to Docker Hub
  • Containers on Azure
  • Web App for Containers
    • Add Docker support to an existing ASP.NET Core application
    • Push the container to Azure Container Registry
    • Create and deploy to a new Web App for Containers service
    • Enabling continuous deployment
  • Web App for Containers – Multi-Containers
    • Create an API Gateway using Ocelot
    • Create the Docker Compose file
    • Deploy a public facing API gateway and two private APIs
    • Understanding how can these services can communicate between each others
  • Azure Container Instances
    • What are serverless containers?
    • Create a new container instance
  • Azure Kubernetes Service
    • Concepts
    • Running containers

Day 2

    • Service Fabric Mesh
      • Benefits of a serverless orchestrator
      • Deploy a public facing API gateway and two private APIs
      • Understanding how can these services can communicate between each others
    • Going serverless with Azure Functions
      • Functions vs Web Jobs
      • Triggers & bindings
      • Create a function using the Web UI
      • Create and debug a function using Visual Studio
      • Understanding durable functions
    • Create serverless workflows with Logic Apps
      • Understanding triggers, conditions and actions
      • Create a Logic App using the Web UI
      • Events vs messages
      • Understanding sources, handlers, topics and subcriptions
      • Send emails with O365/
    • Event Grid
      • Understanding topic and subscriptions
      • Trigger a custom topic
      • Use Logic Apps as a subscriber
    • Azure DevOps
      • Understanding the Azure DevOps modules
      • Configure and use Repos
      • Containers
        • Create a CI/CD pipeline
        • Create a Build pipeline using the designer and with YAML
        • Push to Azure Container Registry
      • Azure Functions
        • Use the Deployment Center to enable Continuous Delivery
        • Create a CI/CD pipeline for your Azure Functions

You will add new functionalities hosted in containers and new serverless functionalities





You're a .NET Web developer and you've been tasked in modernizing an existing ASP.NET MVC application. You want to use ASP.NET Core to develop microservices that you'll deploy in containers or in serverless functions. At the end of this course, you will be able to select the right Azure services for the tasks at hand.



You're the team's architect and you've been tasked in modernizing an existing ASP.NET MVC application. You want to explore the possibility of using modern software development architectures like microservices, containers and serverless. At the end of this course, you will be able to modernize the architecture of your applications and guide your team in this modernization journey.


The following setup is required on your laptop to attend this course:



Our prices are in Canadian dollars.

In the USA? You can attend our virtual classes and take advantage of the 30% exchange rate!

Get an approximated price in USD

Organize private virtual courses for your company! (minimum 4 participants)

COVID-19 NOTE: All our public in-person classes have been postponed. The following classes are all virtual with a live instructor. You get the same training experience and the same interaction with the trainer.


Use the following codes to get 20% off the regular registration fee

Class Discount Code Valid until
K8s on Azure - June 15-16-17 2020 - Eastern Time EARLYBIRD-9DR3CP May 29, 2020
K8s - June 22-23 2020 - Mountain Time EARLYBIRD-35DHWM June 6, 2020
K8s on Azure - July 6-7-8 2020 - Pacific Time EARLYBIRD-78AEJ1 June 19, 2020
K8s - 13-14 Juillet 2020 - Heure de Montréal - FR EARLYBIRD-HSDXKW 26 Juin 2020