
Understand what containers are and why they are widely used for modern cloud applications.
Learn how container images package an application together with its dependencies.
Explore the role Docker plays in building, running, and managing containers.
Set up Python and Visual Studio Code as our primary development environment.
Create the sample application that we will use throughout the container demonstrations.
Learn how ACR Tasks can automate the process of building container images in Azure.
Explore Azure Container Registry and how it provides private storage for container images.
Create an Azure Container Registry that will store our application images.
Build a container image for our application and push it to Azure Container Registry.
Explore how containers can be hosted directly on an Azure Virtual Machine.
Create the Azure Virtual Machine that will host our containerized application.
Install and configure Docker on the Azure Virtual Machine.
Pull our application image from the registry and run it on the virtual machine.
Deploy a container using Azure Container Instances without managing virtual machines.
Learn how Azure App Service can host web applications and containerized workloads.
Deploy our application to Azure App Service and configure the required settings.
Understand how authentication and authorization are handled within Azure.
Learn how managed identities allow applications to authenticate without storing credentials.
Review how Git and GitHub support source control and collaborative development.
Create a GitHub repository and upload our application source code.
Configure an ACR Task that can build a container image from source code.
Trigger the ACR Task and observe how Azure builds the container image automatically.
Explore additional ACR Task triggers based on base-image updates and schedules.
Learn how Azure Container Apps provides a managed platform for running containerized applications.
Understand the main components of Azure Container Apps, including environments, apps, and revisions.
Deploy our containerized application to Azure Container Apps.
Update the deployed application and create a new Container Apps revision.
Learn how multiple revision mode allows several application revisions to run simultaneously.
Configure multiple revisions and control how traffic is distributed between them.
Understand how ingress exposes a Container App to incoming network traffic.
Learn how Azure Kubernetes Service provides managed Kubernetes clusters in Azure.
Create an Azure Kubernetes Service cluster for hosting containerized applications.
Deploy our containerized application to the AKS cluster.
Update the application running in AKS by deploying a newer container image.
Explore the metrics and logs available for monitoring applications running in AKS.
Map your own domain to an Azure container app by configuring custom domains, DNS records, and a managed certificate, then validate ownership and route traffic through your domain registrar.
Understand what Azure Cosmos DB is and why it is used for globally distributed cloud applications.
Learn the core Cosmos DB hierarchy, including accounts, databases, containers, and items.
Create an Azure Cosmos DB account in the Azure portal.
Create a database and container, and add items to Azure Cosmos DB.
Use SQL-style queries to retrieve data from an Azure Cosmos DB container.
Connect a Python application to Azure Cosmos DB using the Azure SDK.
Use Python to create and store a new item in an Azure Cosmos DB container.
Retrieve a specific item from Azure Cosmos DB using Python.
Execute Cosmos DB queries from a Python application.
Modify an existing Cosmos DB item using Python.
Delete an item from Azure Cosmos DB using the Python SDK.
Understand how Cosmos DB automatically indexes data to support efficient queries.
Configure composite indexes to support more complex query patterns.
Explore the consistency models available in Azure Cosmos DB.
Learn how the Change Feed records inserts and updates made to items in a container.
Work with the Cosmos DB Change Feed in a practical example.
Understand how Cosmos DB can store vector embeddings alongside application data.
Create a Cosmos DB container configured to store and index vector embeddings.
Deploy and configure an embedding model in Microsoft Foundry.
Generate embeddings for our data and store them together with Cosmos DB items.
Run a vector similarity search against the embeddings stored in Cosmos DB.
Discover Azure Database for PostgreSQL, a managed, open-source object-relational database service, and learn to create resources, interact with it using Python, and perform vector search.
Learn how to configure PostgreSQL as a vector store with pgvector, store embeddings from the Text3 small model in Microsoft Foundry, and perform semantic searches on product data.
Explore Redis eviction policies under memory pressure, including expiration, and understand why in this setup there is no eviction due to the Redis search module.
Explore populating a Redis cache for AI cloud solution, decide what to store (strings, hashes, lists), apply expiry and eviction policies, and refresh stale data by deleting and recreating keys.
Explore how Azure Service Bus can publish messages to a topic and how Azure Event Grid emits events to system topics, enabling event-driven subscriptions via Azure Functions.
Demonstrate integrating Azure Service Bus with Azure Event Grid and Azure Functions, using the Event Grid trigger and event subscriptions to publish messages and trigger functions.
Publish an azure function in vs code using an event grid trigger to handle service bus events. Log cloud event details such as id, type, source, and time.
Learn how to consume service bus messages with Azure functions using the Service Bus client, environment variables, and requirements, and handle Event Grid notifications to process queue messages.
Create a custom topic in Azure Event Grid named AI inference events in East US, configure cloud event schema 1.0, and bind an Azure function to its event subscriptions.
Publish AI inference events to a custom topic with Event Grid, including type, subject, and data such as document id, model, and confidence, and trigger an Azure function.
Filter Azure event grid subscriptions by event type, subject, and advanced data properties to route AI inference events to the right handlers.
Explore Azure Key Vault for secrets, keys, and certificates. Learn about rotation and secure retrieval via apps or Azure functions, plus Azure App Configuration and monitoring.
Learn how Azure App Configuration uses labels for environment-specific values on the same key and how Key Vault references keep secrets securely.
Explore Azure Monitor, Log Analytics, and OpenTelemetry for monitoring Azure and on-premises workloads. Learn to collect metrics and logs in a Log Analytics workspace and query with KQL.
Deploy container images from Azure Container Registry to Azure Kubernetes using manifests for retrieval, inference, and gateway services; gateway uses port 80 and internal services use port 8000.
Learn how to implement open telemetry with Azure Application Insights to create traces and spans that correlate gateway, retrieval, and inference calls, enabling instrumentation and end-to-end telemetry.
Explore how the AZ-204 course structures itself around exam objectives, with sections on Azure compute solutions, virtual machines, and Azure web apps, and provide resources and practice questions.
This chapter covers an important note on this course
This chapter covers the Azure Free Account
This chapter covers creating an Azure Free Account
This chapter covers a tour around the Azure portal
This chapter covers on what goes into the deployment of a virtual machine
This chapter covers the building of a Windows virtual machine
This chapter covers on connecting to a virtual machine
This chapter covers the installation of Internet Information Services
This chapter covers the building of a Linux VM
This chapter covers the Introduction to Azure Web Apps
This chapter covers the deployment of Azure Web App
This chapter covers publishing from Visual Studio
This chapter covers Azure SQL database
This chapter covers adding of data to the database
This chapter covers the building of an application that connects to a SQL database
This chapter covers the publishing to an Azure Web App
This chapter covers Azure Web Apps Autoscaling
This chapter covers a lab on Auto scaling a web app
This chapter covers deployment slots
This chapter covers a lab on deployment slots
This chapter covers deployment slots with databases
This chapter covers a lab with deployment slots with databases
This chapter covers Azure App configuration
This chapter covers Azure App configuration settings
This chapter covers Azure App configuration feature flags
Use Azure Cloud Shell, a browser-based authenticated terminal, to manage Azure resources with PowerShell or Azure CLI, upload files onto the session, and work with both tools without local installation.
Learn to use PowerShell with the Azure web app service to create a resource group, app service plan, and a web app, then configure the runtime to .NET 10.
Learn to create a deployment slot for an Azure web app with PowerShell, upgrade the app service plan from basic to standard, and verify the new staging slot.
Discover azure cli, a cross-platform command line tool for managing azure resources, including web apps, resource groups, and app service plans, often easier than PowerShell.
This chapter covers Azure functions
This chapter covers a Lab on Azure Function Apps
This chapter covers publishing an Azure Function
This chapter covers calling an Azure Function from a web app
This chapter covers what more we need to cover
This chapter covers the need for containers
This chapter covers an introduction to Docker
This chapter covers running a simple container
Learn how to containerize a dotnet web app by creating a Docker image with a Dockerfile in VS Code, then run a container on the Docker daemon.
Containerize a dotnet web app with a two-stage dockerfile, using the dotnet sdk to restore and publish, then run in an aspnet runtime image and expose port 8080.
Build a docker image from a docker file, tag it as version one, and run a container with port mapping to access the application on localhost 8080.
This chapter covers the need for a registry
This chapter covers a lab on Azure Container Registry
This chapter covers publishing an image to Azure container registry
This chapter covers Azure Container Instances
Deploy a two-container setup with a .NET web app connecting to a custom MySQL image. Launch the containers as an Azure container group on Azure container instance.
This chapter covers deploying a MySQL database container
This chapter covers creating a custom MySQL image
This chapter covers checking an application connecting to the MySQL instance
This chapter covers deploying a custom MySQL container
This chapter covers deploying an Azure Container Group
Deploy an Azure container group with multiple containers using a YAML file to run a web app and a MySQL database from the container registry.
Deploy a containerized console app on Azure Container Instance using a secure environment variable for the storage connection string to read blob data from an Azure Storage account.
Demonstrates deploying containers to Azure web apps by publishing a docker image, configuring Linux, East US, and a basic plan, and mapping port 8080 to the web app’s port 80.
Deploy an Azure container app environment to securely host multiple container apps, including a .NET web app and a MySQL container, with configurable environment variables, ingress, resources, and scaling.
Deploy a dotnet web app with azure container apps by creating an environment, selecting a v2 container image, configuring secrets, and enabling public ingress for port 80 to 8080.
Deploy the database container in Azure Container Apps, set a revision with a minimum of one replica, enable TCP ingress on port 3306, and run web and database containers together.
Learn to map your own domain names to Azure container apps, configure custom domains under networking, validate ownership by adding records, and attach the certificate.
Explore Azure Container Apps storage options, including ephemeral FML storage for container caches, replica-scoped storage for sharing files between containers in a replica, and Azure Files for permanent data.
Course Updates
v4.0 – September 2026
The course is being extensively updated to prepare students for the AI-200: Developing AI Cloud Solutions on Azure exam.
New chapters, demonstrations, quizzes, hands-on labs, and practice test questions are being added to align with the latest Microsoft AI-200 skills measured.
The course now places greater emphasis on developing the back-end services and cloud components used in modern AI solutions on Azure.
New and expanded coverage includes containerized solutions, Azure Cosmos DB, Azure Database for PostgreSQL, pgvector, vector search, Azure Managed Redis, Azure Functions, Service Bus, Event Grid, Key Vault, App Configuration, OpenTelemetry, and KQL.
Python-based demonstrations are included throughout the course to help students gain practical experience using Azure SDKs and services.
Existing demonstrations are being refreshed to reflect the latest Azure portal experience and current Azure service capabilities.
Practice Tests and quizzes are also being updated to reflect the AI-200 exam objectives.
Important Course Update
The AZ-204 exam was retired on July 31, 2026. This course has therefore been transitioned and expanded to focus on the newer AI-200: Developing AI Cloud Solutions on Azure exam.
v 3.0 - March 2026
An entire course refresh for the AZ-104 course. This is being done to align the course with what are the most recent exam objectives.
All of the videos will be up-to date with the latest User Interface and feature changes to the Azure services. This will provide a more seamless experience for the student and make it easier to follow along to practice on the Azure platform.
An entire refresh also carried out for the Practice Tests - All Practice Test questions updated.
Quizzes also added and updated for each section
v 2.0 - April 2024
A complete course refresh has been conducted for the course. All videos of the course have been updated. This was done to align the course with any newer changes to the exam objective. And to also align the videos with any changes to the Azure services.
All diagrams that have been shown in the videos have also been updated to have a more seamless and refreshed look with the Azure services.
Practice Tests have also been updated. All older questions have been removed and replaced with newer questions.
This course is designed for students to prepare for the AZ-204: Developing Solutions for Microsoft Azure exam.
The various objectives and chapters that will be covered include
Develop Azure compute solutions
This course breaks this topic into multiple sections. We will first cover how to deploy applications onto Azure virtual machines as the first compute solution method. Then we will look at the PaaS service , i.e. Azure Web Apps. We will see how to publish web applications onto the Azure Web App service. Then we will see how we can connect a web application to an Azure SQL database instance. And finally we will look at the Azure Function App service. We will look at hosting functions. And see how to connect the Functions onto an Azure SQL database.
Develop for Azure storage
Again , we will break this topic into 2 sections. One is for the Azure Storage Account service and the other is for the Azure Cosmos DB service. We will look at each service in detail. And then we will see how to use .NET 8.0 to interact with each service.
Implement Azure security
Again , we will break this topic into 2 sections. In the first section, we will focus on understanding Azure Active Directory and how we assign permissions. Then we will see how to work with Application Objects and then with Managed Identities.
Monitor, troubleshoot, and optimize Azure solutions
In this section, we will first cover monitoring. We will look at aspects such as working with Azure Monitor and then Application Insights. And then finally look at the caching services like Azure Redis Cache and Azure CDN.
Connect to and consume Azure services and third-party services
In this final section, we will cover important aspects services like Azure Service Bus, Azure Event Grid and Azure Event Hubs.