Azure Paas and DevOps

Azure PaaS and DevOps

Abstract and Learning Objectives

This hands-on lab is designed to help students will gain a better understanding of how to integrate and deploy complex Open Source Software (OSS) workloads into Azure PaaS. Attendees will migrate an existing MERN (MongoDB, Express.js, React.js, Node.js) stack application from a hosted environment into Azure PaaS services, and fully embrace modern DevOps tools.

Attendees will learn how to:

  • Provision Web App for Containers for hosting OSS applications
  • Migrate a MongoDB instance into Cosmos DB
  • Implement serverless technologies, such as Logic Apps and Azure Functions, to enhance OSS app functionality
  • Provision an Azure Container Registry
  • Build Docker images and push them into the Azure Container Registry
  • Enable continuous deployment with Jenkins and Visual Studio Team Services (VSTS)


Best for You Organics Company is one of the leading health food suppliers in North America, serving customers in Canada, Mexico, and the United States. They have a MERN stack web application which they host on-premises and are looking to migrate their OSS application into Azure. They will be creating a custom Docker image for their application and using a Jenkins and Visual Studio Team Services (VSTS) continuous integration/continuous delivery (CI/CD) pipeline to deploy the application into a Web App for Containers instance. In addition, they will be setting up Azure Cosmos DB, and using the MongoDB APIs, so they don’t have to make application code changes to leverage the power of Cosmos DB. In this hands-on lab, you will assist with completing the OSS application and database migrations into Azure. You will create a custom Docker image, provision an Azure Container Registry, push the image to the registry, and configure the CI/CD pipeline to deploy the application to a Web App for Containers instance. You will also help them implement functionality enhancements using serverless architecture.

Solution Architecture

OSS PaaS and DevOps
OSS PaaS and DevOps

Image Source: Microsoft

Course Outline 

Before the hands-on lab

  • Provision a lab virtual machine
  • Provision a Jenkins server
  • Connect to your Lab VM
  • Install an SSH client
  • Install Visual Studio Code
  • Install Node.js and NPM
  • Install MongoDB Community Edition
  • Install Docker
  • Create GitHub account
  • Fork the starter app
  • Prepare GitHub account for service integrations

Run starter application 

  • Clone the starter application
  • Start MongoDB
  • Launch the starter application

Migrate the database to Cosmos DB

  • Provision Cosmos DB using the MongoDB API
  • Update database connection string
  • Pre-create and scale collections
  • Import data to the API for MongoDB using mongoimport
  • Install Azure Cosmos DB extension for VS Code
  • Decrease collection throughput

Containerize the app

  • Create an Azure Container Registry
  • Install Docker extension in VS Code
  • Create Docker image and run the app
  • Run the containerized App
  • Push image to Azure Container Registry

Set up Web App for Containers

  • Provision Web App for Containers
  • Navigate to the deployed app

Configure CI/CD pipeline

  • Configure Continuous Integration (CI) with Jenkins
  • Trigger CI build
  • Create Free Visual Studio Team Services Account
  • Create a VSTS personal access token
  • Configure Jenkins for Team Services integration
  • Create a Jenkins service endpoint is VSTS
  • Create a Team Services release definition
  • Trigger CI/CD pipeline

Create Azure Function for order processing

Create Logic App for sending SMS notifications

  • Create Free Twilio account
  • Create Logic App
Sharing is Caring
Scroll to Top