MODERNIZING WITH MICROSERVICES, CONTAINERS AND SERVERLESS
2-DAY WORKSHOP


App Service

Web App for Containers

Docker

Service Fabric

Service Fabric Mesh

Azure Kubernetes Service

Functions

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 workshop 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 workshop, 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 Service Fabric Mesh. 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 workshop, you will be able to design the right architecture and select the right Azure services for your modernization project.


WORKSHOP OUTLINE

denotes a topic with hands-on "code along" 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

Day 2

    • Azure Kubernetes Service quick overview
    • Service Fabric
      • Concepts
      • Reliable services, collections and actors
      • How to develop and debug locally
      • Use of the Service Fabric dashboard
      • Running containers
    • Service Fabric Mesh
      • Benefits of using Mesh vs its big brother
      • 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
      • Using a Webhook to send an SMS with IFTTT
    • 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


WHY IS THIS FOR ME?

Developer

Developer

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 workshop, you will be able to select the right Azure services for the tasks at hand.

Architect

Architect

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 workshop, you will be able to modernize the architecture of your applications and guide your team in this modernization journey.


WORKSHOP SETUP

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

Checklist


REGISTER

We plan to visit every major Canadian city over the year, contact us if you want Azure Academy in your city!

You can also host this workshop at your company! (minimum 6 participants)