
Build a standalone shopping MVC web application with its own data, then integrate with the API project, add Docker support, and explore Azure Web App for Container deployment.
Create an ASP.NET Core MVC web project for the shopping client microservice. Clone the GitHub repository, scaffold shopping solution, configure port 5001, and run the standalone microservice before API integration.
Develop a shopping client microservice data model with product context objects and a static in-memory store. Deploy a standalone mvc client to azure and prepare for docker compose and kubernetes.
Learn to run and manage shopping client microservices with Docker, including building images from a Dockerfile, running and debugging in containers, and tagging for development and release pipelines.
Deploy the shopping client microservice to Azure Web App for Container by containerizing with a Dockerfile, pushing images to Docker Hub, and configuring the web app for container deployment.
Examine Azure web app for containers in the portal, review the Azure App Service plan, deployment from Docker Hub, container settings, and image source with private or public registry options.
Learn how to implement a CI/CD pipeline for a single container on Azure web app for containers by integrating GitHub triggers, Docker builds, image pushes, and automated deployments via webhooks.
Delete unused Azure resources by removing the resource group in the Azure portal to avoid high bills, then prepare for developing the shopping api microservices with docker compose and kubernetes.
Develop the Shopping.API microservice with MongoDB support, enabling CRUD operations for products, connecting to a MongoDB docker container, and preparing Shopping.Client to consume products from the API.
Develop a product controller for the shopping api, remove default controllers, create a product model, and implement a get method that returns a random product for testing.
Copy the data folder into the shopping API project and refactor the product context for the shopping API microservice, replacing mock data with real products and preparing MongoDB integration.
Register an HttpClient factory in the shopping client via dependency injection to call the shopping API with get async and return the product list.
Set up a MongoDB docker database and review the big picture for the Shopping MVC and Shopping.API projects. Then connect the API to a real no-sql MongoDB and begin coding.
Connect to a MongoDB container via an interactive PowerShell terminal using docker exec, then run mongo commands to create a catalog database, products collection, and insert items.
Connect the MongoDB docker container to the shopping API by installing the MongoDB driver, marking the product entity with a bson id, and configuring the connection string in appsettings.json.
Add a docker compose file to orchestrate shopping API, client API, and MongoDB using Visual Studio's container orchestration support, with a shared docker compose yaml and overwrite file.
Add a MongoDB service to the docker-compose file, using a Docker Hub image, and configure ports, volumes, and restart policy in both main and override files for local development.
Master Docker commands for deploying microservices, including pull, build, and run with port mappings; use Docker compose with override files to manage multi container apps and stop or remove images.
Learn how to install and run Kubernetes locally using Docker Desktop, enable Kubernetes in settings, and verify the cluster with kubectl commands.
explore the declarative kubernetes approach by writing yaml manifests and applying them with kubectl apply, creating and updating deployments, pods, and services via metadata and spec.
Create a Kubernetes service with a dedicated service yaml alongside deployment. Learn yaml structure with metadata, spec, and status, and how labels and endpoints connect deployments to services.
Deploy the Kubernetes dashboard and explore its web-based UI to manage the cluster, applications, and logs, using kubectl apply, proxy, and token-based authentication.
Create a MongoDB admin secret in Kubernetes by encoding the root username and password in base64, define a secret YAML, apply it with kubectl, and reference it in the deployment.
Use Kubernetes secret values to set the MongoDB username and password in the deployment yaml, retrieving them from the secret, then apply the deployment and verify pods with kubectl.
Build shopping Docker images, tag them, and push to Docker Hub, using Docker Compose to run and verify shopping API and client containers.
Clear docker compose containers and images on your local machine, showing how Kubernetes retrieves images from Docker Hub and prepares upcoming Shopping API and client deployments.
Create a shopping client Kubernetes deployment and service in one YAML file, and define a config map for the shopping API URL to inject environment variables.
Deploy shopping microservices to Azure Kubernetes Service (AKS) using Azure Container Registry (ACR), building on locally tested Docker and Kubernetes deployments and exploring cloud migration.
Explore Azure Container Registry (ACR) as a managed private Docker registry to store and manage private container images and artifacts, and deploy them to AKS with automated builds and pipelines.
Azure Kubernetes Service (AKS) simplifies deploying a Kubernetes cluster in Azure and handles health monitoring with a free plan. Push images to ACR and deploy to AKS via Azure CLI.
Push images to ACR and deploy Kubernetes configurations to AKS, updating Kubernetes manifests and testing the cloud deployment.
Deploy an Azure Container Registry, tag images with the login server address, push shopping api and shopping client images, and prepare integration with Azure Kubernetes Service.
Create an image pull secret for Azure Container Registry and ECR with kubectl, then configure deployments to use the secret for authenticating and pulling container images in AKS.
Scale shopping applications in AKS by manually scaling pods, scaling deployments via YAML, and configuring autoscaling to automatically adjust frontend and microservice pods.
Scale shopping api and shopping client pods in Azure Kubernetes Service with horizontal pod autoscalers, setting min and max replicas and a 50 percent cpu target via yaml and kubectl.
Explore how Azure DevOps provides tools to plan work, collaborate on code, and build via pipelines, boards, repos, and extensions for Kanban and Scrum methods with continuous integration and delivery.
Sign up for Azure DevOps and Azure Pipelines with a Microsoft account, then create an organization and a project to enable CI/CD pipelines.
Execute a full continuous delivery pipeline to build and push the shopping API image to the Azure Container Registry, publish artifacts, and deploy to Azure Kubernetes Service with YAML.
Manage pipelines for multi-container microservices with CI/CD flows in Azure Pipelines. Refactor triggers and artifacts, separate pipelines per microservice, and track CI/CD in the code structure.
In this course, we're going to learn how to Deploying .Net Microservices into Kubernetes, and moving deployments to the cloud Azure Kubernetes Services (AKS) with using Azure Container Registry(ACR) and last section is we will learn how to Automating Deployments with CI/CD pipelines of Azure DevOps and GitHub.
We're going to containerize our microservices on docker environment, and push images to the Docker Hub and deploy microservices on Kubernetes. As the same setup, we are going to shifting to the cloud for deploying AKS (Azure Kubernetes Services) with using ACR (Azure Container Registry).
Also we will cover additional topics that;
Docker compose microservices
Kubernetes components (pods, deployments, services ..)
Zero-downtime deployments
Using Azure resources like ACR (Azure Container Registry), AKS (Azure Kubernetes Services)
Automate whole deployment process with writing custom pipelines with Azure DevOps and so on..
In the course, we will have 3 microservices which we are going to develop and deploy together.
Microservices 1 - Shopping MVC Client Application
First of all, we are going to develop Shopping MVC Client Application For Consuming API Resource which will be the Shopping.Client Asp.Net MVC Web Project. But we will start with developing this project as a standalone Web application which includes own data inside it.
And we will add container support with Dockerfile, push docker images to Docker Hub and see the deployment options like "Azure Web App for Container" resources for one web application.
Microservices 2 - Shopping API Application
After that we are going to develop Shopping.API Microservice with MongoDB and Compose All Docker Containers. This API project will have Products data and performs CRUD operations with exposing API methods for consuming from Shopping Client project. We will containerize API application with creating Dockerfile and push images to Azure Container Registry (ACR).
Microservices 3 - Mongo Db Database
Our API project will manage product records stored in a No-SQL MongoDB database as described in the picture. We will pull MongoDB docker image from docker hub and create connection with our API project.
At the end of the section, we will have 3 microservices which's are Shopping.Client - Shopping.API - MongoDb microservices.
As you can see that, we have;
Created docker images,
Compose docker containers and tested them,
Deploy these docker container images on local Kubernetes clusters,
Push our image to Azure Container Registry (ACR),
Shifting deployment to the cloud Azure Kubernetes Services (AKS),
Update microservices with zero-downtime deployments.
And the last step, we are focusing on automation deployments with creating CI/CD pipelines on Azure DevOps tool. We will develop separate microservices deployment pipeline yamls with using Azure Pipelines.
When we push code to GitHub,
Microservices Azure Pipeline triggers,
Build docker images and push the Azure Container Registry (ACR),
Deploy to Azure Kubernetes services with zero-downtime deployments.
In the last section, we will give assignment for deploying multi-container microservices applications with automating CI/CD pipelines.
By the end of this course, you'll learn how to deploy your multi-container microservices applications with automating all deployment process separately.
This course will have good theoretical information but also will be 90% of hands-on development activities. All microservices and deployment steps will developed step by step and together.