
Aligns course objectives with the AZ-400 exam by exploring DevOps processes, Azure boards for agile planning, Jira, Git and Azure repos, CI/CD pipelines, and security and monitoring.
Align your study with the Az-400 objectives, note prerequisites Az-104 or Az-204, and understand the focus on Azure portal familiarity while using simple .NET programs.
Explore why DevOps matters and compare Waterfall and Agile, tracing the evolution of DevOps from basics to the azure devops toolset.
Explore the project lifecycle and why DevOps emerged, comparing the waterfall model’s phases—requirements, analysis, design, coding, testing, deployment—and its advantages and pitfalls.
Explore how agile software development replaced waterfall with iterative delivery, cross-functional teams, and close collaboration with customers and end users for early, incremental software delivery.
Explore the scrum agile workflow: translate user needs into user stories, form a product backlog and sprint backlog, execute two-week sprints with reviews and retrospectives, and continuously improve software delivery.
Contrast waterfall and agile approaches, and show how DevOps bridges development and operations for iterative, secure, tested deployments and faster feature releases.
DevOps unites development and operations across the application life cycle, using automation and agile delivery with Azure DevOps tools to speed deployment.
Discover Azure DevOps tools such as boards, pipelines, repos, test plans, and artifacts. Learn to start an account, sign in with a Microsoft account or GitHub, and navigate the interface.
Explore Azure boards within Azure DevOps as a project management tool to manage agile user stories and create work items for the application life cycle.
Plan work using azure boards for Cloud Portal Hub, aligning with it delivery goals, fast feature delivery, and continuous collaboration with end users to capture accurate requirements.
The traditional approach starts with budget approval and a high-level plan, forms a project team, and proceeds through requirements, design, coding, and testing before delivery, contrasting with an agile approach.
Explore how the agile methodology drives the scrum process, turning user stories into product and sprint backlogs, with continuous sprint status checks and Azure boards guiding planning.
Create projects within an Azure DevOps organization and use Azure Boards to track work items—epics, issues, tasks, and user stories—via the chosen process and Kanban boards.
Visualize and manage Azure DevOps work items with kanban boards, drag cards through new, active, resolved, and closed lanes, and create or edit user stories and features.
Learn how to add tasks to a user story within backlogs and boards, linking tasks to stories and epics to manage backlog work items efficiently.
Create and manage sprints by moving backlog items into iterations, assigning user stories and tasks, and planning two-week work cycles in Azure Boards.
Add users to Azure DevOps organization, then assign them to a project with Basic, Test Plans, or Stakeholder access, using Microsoft or GitHub accounts, where basic offers five free users.
Explore how to use dashboards in Azure Boards to visualize project data with widgets and charts, track remaining work, cycle time, lead time, and velocity across sprints.
Explore Azure Boards queries to filter work items by type, state, and priority, save and run queries, and visualize results with charts.
Add the chart to the dashboard by saving the query in the shared queries folder, then add it via charts to the team dashboard.
Discover built-in security groups in Azure DevOps, see how permissions are assigned at organization and project levels, and learn how not set equates to deny within group memberships.
Discover how Azure DevOps dashboard permissions govern who can view, create, edit, and delete dashboards. Admins set default permissions and per-dashboard edit rights using manage dashboard settings.
Learn how to add and manage a project wiki in Azure DevOps, using a Git-backed wiki with Markdown, subpages, drag-and-drop navigation, and user permissions for the Congress Security Group.
Create an Azure DevOps delivery plan to visualize work as a timeline, selecting project, team, backlog, and user stories, then view a Gantt chart style sprint schedule.
Explore the integration of Azure Boards with Microsoft Teams by linking a project to Azure DevOps, installing the Azure Boards app, signing in, and subscribing to work item events.
Create a new Scrum project in an Azure DevOps organization, explore work items such as epics, features, and product backlog items, assign users, and practice deleting the project.
Explore designing and implementing source control with Git, including using GitHub and Azure DevOps with Azure Repos to manage versioning and collaboration.
Understand how a version control system maintains different file versions, enables reverting to prior states, and supports coordinated development with Git as the popular source control tool.
This chapter explains why git is the preferred distributed source control tool, highlighting its distributed copies, performance, and easy branching, compared to centralized Subversion.
Install git on your local machine across Windows, macOS, and Linux, and set Visual Studio Code as editor. Set main as default branch; enable credential manager; verify with git version.
Learn to set up and use git with Visual Studio Code, initialize an empty repository, and track files with version control. Configure global username and email to identify changes.
Learn how to modify a file, track changes with git status, stage updates with git add, and commit them to the repository on the main branch.
Learn essential Git commands and their usage, including commit, via official documentation. Practice running commands in the terminal or VS Code, or Command Prompt, and check Git status.
Discover how git versioning relies on commits, review changes via the staging area, and revert to earlier commits using git log and git checkout.
Explore how Git manages branches to isolate bug fixes and new features, create feature branches from main, test in isolation, then merge back to main, keeping production stable.
Discover how to create and switch to a git branch using checkout, and work on a feature A branch with file C.txt by staging, committing, and switching back to main.
Learn how to merge a feature branch into main using a simple fast-forward merge, update files like c.txt, and verify synchronization with git status and git log.
Explore how to use a remote repository to centralize code, clone from GitHub or Azure Repos, and merge local changes for team collaboration.
Sign up for a GitHub account to host git-based repositories, push local changes to remote, and choose a plan from free to enterprise.
Learn how to commit local changes, push to GitHub, and understand the difference between local and origin main branches, including creating feature branches and using pull requests.
Explore publishing code to a Git repository using Visual Studio 2022 with a simple ASP.NET template, demonstrating Git version control, installing Visual Studio, and Git integration.
Open Visual Studio 2022, create an ASP.NET Core web app, and use the built in git integration to initialize a local repo, commit files, and push to a GitHub repository.
Create a free GitHub organization, publish a web app by creating a repository from within Visual Studio, then commit and push changes to the remote repository, enabling collaboration.
Learn to manage Git workflows from Visual Studio, push and pull changes with GitHub, resolve merge conflicts, and complete a merge to update the main branch with versioned edits.
Understand git merges in the AZ-400 DevOps context, including fast-forward merges from feature to main, conflict resolution, and history visualization with git log graph in VS Code.
Explore an alternative git merge process by making concurrent changes on feature and main branches, and observe how the ORT strategy handles the merge with separate commits.
Learn how to perform a squash merge in git to consolidate multiple branch commits into a single merge commit, keeping main history clean while preserving feature branch history.
Create a feature branch from the main branch in GitHub, commit changes, and merge via a pull request with squash or rebase options.
Create and publish a feature branch from Visual Studio, commit and push to GitHub, then resolve conflicts and merge into the main branch via a pull request.
Learn how to protect the main branch with branch protection rules, enforce pull requests and approvals, and manage merges through a structured branch policy.
Explore tagging in git, comparing lightweight tags as pointers with annotated tags that store tagger details, and learn to create, view, sign, verify, and manage version tags.
Learn how Git performs automatic garbage collection and prune to remove unreferenced objects, and apply maintenance steps for data recovery and keeping a clean, version-controlled repository.
Discover how to handle large files in a git repository by using gitignore for binaries and Git LFS to reference large assets stored elsewhere.
Adopt a branching strategy that keeps the main branch stable for production, uses short-lived feature branches merged via pull requests, and maintains release and customer-specific branches with proper tagging.
Learn how Azure Repos hosts git repositories in Azure DevOps, create a default project repo, and push changes from a local folder using remote origin and git add, commit.
Learn how to create and push a feature branch from a local repository to Azure Repos, using git checkout, commit, and pushing all branches to origin.
Learn to create and complete a pull request in Azure Repos, merging a feature branch into main, checking for conflicts, and selecting a merge strategy such as fast-forward or rebase.
import a GitHub repository into Azure Repos by copying the clone URL and using a personal access token generated in developer settings with limited permissions, then complete the import.
Learn to protect the main branch in Azure Repos with branch policies, including minimum reviewers and controlled merges, plus creating branches and completing pull requests.
Enforce branch policy by requiring linked work items for pull requests, tying changes to Azure Boards tasks or user stories, and validating before merge.
Explore branch security in Azure repos, managing branch permissions, and applying security across branches and all repositories. Learn to define read or rename permissions and enforce branch policies.
Learn to create a gitignore file to exclude build outputs from version control, use patterns, and apply changes with git add and commit.
Publish code from Visual Studio to Azure Repos by creating a new ASP.NET Core web app, initializing a local git repository, and pushing to Azure DevOps.
Publish code from Visual Studio to Azure Repos and set up an Azure Pipelines workflow, then address the hosted parallelism error by submitting a parallelism increase request for private projects.
Receiving the completed support response enables you to run a pipeline in Azure DevOps, establishing the setup needed for the next section on Azure Pipelines.
Integrate Azure Boards with GitHub using the Azure Boards app from the marketplace. Link work items to pull requests for complete tracking across Azure Boards and GitHub.
Compare Team Foundation Version Control as a centralized system with history on the server, file-level permissions, and checkout workflows via Azure DevOps.
Azure Bots and Azure Repos integrate with Slack to notify items and pull requests, with commands like AZ Repos sign in and subscribe to all repositories or a specific URL.
Explore cherry-picking changes by transferring a commit from a feature branch to the main branch using git cherry-pick, while switching branches and verifying history with get log.
I explain how this course designs and implements build and release pipelines by breaking a large section into smaller parts, starting with build pipelines.
Explore build pipelines as the core of continuous integration, automatically compiling code into binaries for the target runtime, and running tests on every commit in GitHub or Azure Repos.
Discover how Visual Studio builds and runs a .NET 6 asp.net web app, using solution and project files, msbuild, and building the entire solution for execution.
Publish builds from Visual Studio to a target machine or Azure, creating a published profile and deploying by copying files to IIS and running with dotnet or Java runtime.
Automate the building and testing of code every time developers commit changes, supporting continuous integration and incremental feature-branch updates to the main branch for faster deployments.
Learn how Azure Pipelines in Azure DevOps automate building and testing code with CI/CD, and define pipelines using YAML in Azure Repos or via the classic graphical interface.
Create a YAML build pipeline by selecting code from Azure Repos, set the main branch as default, and trigger builds on changes while performing checkout and VS build tasks.
Explore how a simple Azure DevOps build pipeline runs, logs tasks, and uses YAML to define triggers, with NuGet restore and VS build on Microsoft-hosted agents.
Demonstrate triggering the build pipeline on any change to the main branch of the code repository, observing a new pipeline run and the steps executed in the continuous integration process.
Explore microsoft-hosted agents in azure pipelines, using windows or ubuntu images with tools to build your app, and ensure dotnet core is available for builds on windows and linux.
Edit pipeline to install .NET Core 6.x on Ubuntu and add .NET Core task, then switch from windows-only VS Build to a .NET Core CLI build on a Microsoft-hosted agent.
Explore self-hosted agents for Azure DevOps pipelines, learning why you might persist builds, install custom software, or move builds to on-premises, beyond the Microsoft hosted agent.
Deploy a self-hosted agent by creating a Windows Server 2019 VM in Azure, downloading the RP file, installing .NET 6.0 SDK and Git, and registering the agent with Azure DevOps.
Register a self-hosted agent for Azure DevOps by generating a personal access token and configuring the agent with the server URL, then run it as a service for pipeline use.
Run a pipeline with a self-hosted agent by configuring the default pool, granting permissions, and noting slower execution compared to Microsoft hosted agents.
Explore optimizing a pipeline with a self-hosted agent, removing unnecessary .NET 6 and NuGet installer steps, and using dotnet CLI with Build.ArtifactStagingDirectory in Azure pipelines.
Explore managing pipelines with branches, runs, and analytics. See how YAML-based build definitions in Azure Repos provide version history and revision comparisons.
Delete unused resources and the resource group after finishing the self-hosted agent chapter to avoid costs, noting that Azure DevOps is free while running Azure resources can incur charges.
Embed testing and security at every stage of the development life cycle, from planning to deployment, using unit tests, static analysis, and peer reviews in continuous integration.
Use Mend Bolt to scan dependencies for security vulnerabilities, licensing issues, and outdated libraries in Azure DevOps pipelines; install the extension, integrate with Azure Active Directory, and create Mend account.
Delete an organization and switch back to a previous one within an Azure Active Directory integrated workflow. Add users to the organization through organization settings and manage Azure AD integration.
Add a separate xUnit test project to your Visual Studio solution, clone the repo from Azure DevOps, and run tests to verify assertions pass.
Configure the build pipeline to run unit tests by adding a web test csproj on a Microsoft hosted agent with .NET 6, then push to Azure Repos and view results.
Add a status badge to your GitHub repository to reflect the latest Azure Pipelines run, and enable anonymous access in organization and project settings.
Explore creating an Azure pipeline via the classic editor using a personal access token to access a GitHub repository, including setting up a service connection and enabling continuous integration.
Sign up for SonarCloud and integrate it with Azure DevOps to analyze your source code and deliver feedback on code quality. Configure a service connection to enable analysis and reporting.
Discover how to run multiple parallel jobs in pipelines, compare Microsoft hosted and self hosted options, and understand the free tier limit of one parallel job.
Increase build speed by enabling pipeline caching to reuse downloaded NuGet packages across runs. Add a cache task to avoid repeated internet downloads for NuGet packages across the solution.
Explore how to connect Azure Pipelines with Microsoft Teams, subscribe to pipelines by URL or definition ID, and view the live running state and completion messages in Microsoft Teams.
Create and configure a GitHub workflow that triggers an Azure DevOps pipeline using a YAML file in .github/workflows, secured by a personal access token stored as a secret.
Explore how Jenkins integrates with Azure Repos and GitHub as external CI tools, and install Jenkins on an Azure VM to pull code from GitHub and Azure Repos.
Provision an Azure Ubuntu virtual machine, configure port 8080 access, install Jenkins and Java Development Kit, unlock with the initial admin password, install plugins, and create the first admin user.
Set up a Linux self-hosted Jenkins agent with Git and the .NET SDK, connect to a GitHub repo, and create a free-style build pipeline that runs a .NET build.
Learn to integrate Azure Repos with Jenkins by configuring a freestyle project, authenticating Git access, and running dotnet build, then set up service hooks to trigger builds on code pushes.
Deploy your app by leveraging continuous delivery with Azure Pipelines, choosing infrastructure options like Azure VM, Azure Web Apps, or Azure Kubernetes, and validating in test and staging before production.
Learn to manually deploy a .NET 6 web app to an Azure web app using Visual Studio, including cloning the repo, creating the web app, and publishing.
Learn to create release pipelines for Azure Web Apps, turning build artifacts into deployments across test, staging, and production environments using Azure DevOps.
Publish and transfer a .NET build as a zip artifact from the build to the release pipeline, then deploy the content to an Azure web app via continuous deployment.
Add another stage to the release pipeline to deploy the application to both test and staging environments, using Azure Web App and artifact-driven builds triggered by commits.
Use approvals and gates to manage transitions between test and staging, with pre- and post-deployment approvals and automated gate checks tied to Azure Boards work items and Azure Monitor alerts.
Configure pre-deployment approvals in a release pipeline and set a timeout for toc user 1. Learn to approve or reject to move artifacts from build to test environment.
Learn how to implement automated gates in Azure Pipelines by querying Azure Boards for open tasks, configuring post-deployment checks, and using continuous evaluation to gate promotions between stages.
Discover how to add a manual intervention in an Azure release pipeline, using an agentless task with instructions and a user assignment before deploying an Azure web app.
Deploy a web app to a deployment group of Windows Server 2019 machines with Azure DevOps release pipelines, IIS, and the .NET 6 hosting bundle, enabling port 80 access.
Register machines as deployment group targets in Azure DevOps with a PowerShell script and deploy to test environments in parallel using a deployment group job, then clean up resources.
Learn to deploy a .NET web app on Azure web app that uses Azure SQL Database, and set up build and release pipelines to provision the database and data.
Deploy a .NET 6 web app to Azure web app, connect to Azure SQL database with a products table, and implement build and release pipelines in Azure DevOps.
Create a release pipeline task to run an inline SQL script that creates a table and inserts data in an Azure SQL database before deploying the web app.
Learn to store the SQL connection string in Azure Web App settings, update code to read it, and deploy via a release pipeline.
Enable end-to-end traceability in release pipelines by linking a commit to a corresponding build and release, and report deployment status on Azure Boards work items.
Deploy containerized .NET apps with pipelines to Azure Container Instant Service or Azure Kubernetes, detailing Docker installation, containerization with a Dockerfile and custom image, and pushing to Azure Container Registry.
Build a Docker image for a .NET 6.0 app that uses Azure SQL Database, publishing files to an Ubuntu VM, creating a Dockerfile, and running the container on port 80.
Learn to automate docker image builds and push to Azure Container Registry using Azure Pipelines, including dockerfile inclusion, YAML workflows, and service connections for streamlined devops.
Configure a YAML Azure pipeline with stages to build and publish .NET code, then build and push a Docker image to Azure Container Registry using artifact staging and build tags.
Debug and refine an Azure DevOps pipeline to build the .NET project and push the docker image to the Azure container registry using the correct build context.
Create a release pipeline to deploy an existing image from the Azure container registry to an Azure container instance using an Azure CLI task, with a manual release.
Deploy container images to Azure Kubernetes Service using pipelines, create AKS cluster, and deploy workloads and services via YAML manifests, exposing app with a load balancer and Azure SQL database.
Extend the yaml pipeline in Azure DevOps to publish the container image to Azure Kubernetes using manifest files app.yaml and service.yaml, with a Kubernetes service connection.
Explore releasing to Kubernetes with a classic release pipeline, publishing app.yaml and service.yaml as artifacts, and deploying manifests via two Kubernetes tasks in Azure DevOps.
Publish pipeline artifacts from build to release, and learn to compare publishing all source files with selecting specific artifacts for reuse.
This lab demonstrates a multistage Dockerfile that restores, publishes, and builds a final image, simplifying Azure pipelines and container registry deployments.
Learn to configure container jobs in a multi-stage YAML pipeline to build and publish inside a container, share artifacts across stages, and deploy in a separate deployment stage.
Publish Kubernetes artifacts by adding a manifest to the pipeline after deploying to Azure Container Registry, then clean up unused resources to save costs during move to infrastructure as code.
Assess how technical debt grows when time and budget constraints limit quality during feature additions after production, risking maintainability and introducing code smells tracked by the solar cloud tool.
Manage deployment queue settings to limit deployments when multiple builds run, and decide to deploy all builds sequentially or discard older ones for the latest one.
Discover how to manage infrastructure via release pipelines using infrastructure as code with ARM templates, bicep, and terraform. Learn to replicate infrastructure across dev, test, staging, and production environments.
Learn to use ARM templates to define infrastructure as code in pipelines, provisioning Azure web apps, Azure SQL databases, and virtual machines via the resources block and parameters.
Deploy an Azure web app and its app service plan with an ARM template, linking resources by resource ID and dependsOn, and deploy from PowerShell, Visual Studio Code, or Azure.
Revise arm templates for deploying an Azure VM with a virtual network, two subnets, NIC, public IP, storage account for boot diagnostics, data disk, and a network security group.
Explore modularizing Azure ARM templates with nested and linked templates to enhance maintainability, enabling reusable modules across environments, and understand incremental deployment in nested and linked templates.
Configure and deploy multiple Azure resources using linked templates, including an Azure Web App, an App Service plan, and an Azure SQL database, connected via template links and parameter files.
Integrate ARM templates into a release pipeline to deploy an Azure web app and SQL database within a resource group, using main.json and incremental deployment.
Delete test environment resources in a release pipeline using Azure CLI, scripting deletions for SQL database, SQL server, web app, and app service plan, with a post deployment approval.
Deploy to multiple environments—test, staging, and production—using ARM templates and dynamic resource naming. Configure the pipeline to set SQL server name, web app name, and connection strings for staging database.
Learn to use a linked ARM template artifact in build and release pipelines, publishing templates from the templates folder and updating resource names to avoid deployment conflicts.
Dynamically generate resource names in arm templates using concat and uniqueString from the resource group ID, and output the fully qualified domain name and web app name for the pipeline.
Propagate ARM template outputs into release pipelines by extracting web app and sql server names with a PowerShell script, then map them to release variables for dynamic deployments.
Use Azure CLI to build resources by creating an app service plan, an Azure BeBop web app, and an Azure SQL database server in a guided Cloud Shell workflow.
Learn to add Azure CLI tasks to a release pipeline to create a web app and SQL database, replacing ARM deployments and validating with the web app URL.
Define infrastructure as code in Terraform configuration files and apply changes with Terraform CLI. Learn how to plan with a Terraform plan and track state to deploy resources across clouds.
Download Terraform for Windows, add it to PATH, verify with terraform version, then use VS Code with HashiCorp Terraform and Azure Terraform extensions to build main.tf with providers and modules.
Use Terraform with the Azure ARM provider to deploy App Service plan, a web app, and a SQL database (server and database), including Azure AD app registration and role assignment.
Configure release pipelines with Terraform in Azure DevOps by adding init, plan, and apply tasks, using the Azure RM provider and a Terraform state file stored in a storage account.
Extend a yaml build pipeline into a release pipeline. Deploy to Azure web app and Azure sql database using yaml tasks and artifacts.
Learn to deploy Azure resources with YAML pipelines by calling ARM templates, publishing and downloading artifacts, and using the ARM template deployment task for incremental deployments.
Demonstrate using PowerShell desired state configuration with Azure Automation to install IIS on an Azure VM, compile and deploy configuration, onboard the VM, and enforce drift correction.
Understand how the file resource in DSC copies a full directory from a source to a destination path using the file construct.
Automate Azure VM deployment by using a Team Services agent extension to join deployment groups, and implement custom script extensions to install IIS and the ASP.NET hosting bundle.
Add a custom script extension to an Azure VM to run a PowerShell script via a SAS-authenticated file URL, enabling incremental deployment and ASP.NET hosting bundle verification.
Deploy virtual machine scale sets using an arm template, enabling automatic scaling based on metrics and load balancing across Azure VMs with an Azure load balancer.
Deploy a virtual machine scale set with an ARM template that provisions a load balancer, front-end IP, backend pool, port 80 probe, and two instances.
Deploy the team services agent and a custom script extension to a VM scale set via ARM template, enabling deployment groups, hosting internet information services, and a shared access signature.
Explore deployment strategies for updating an Azure web app connected to an Azure SQL database, addressing the fear of changes and promoting code updates to Azure DevOps for seamless releases.
Demonstrates blue-green deployment by running production in the blue environment while testing a newer version in the green environment, then switching traffic with minimal downtime.
Explore Azure Web App deployment slots to create staging environments, swap between production and staging versions with zero downtime, and roll back if needed on a standard App Service plan.
Demonstrates using Azure Web App deployment slots to stage and swap versions (production and staging) like a blue-green deployment, including publishing, domain setup, and a safe rollback.
Implement canary deployments by exposing a feature to a subset of users in production, such as 10%, using separate environments or in-app toggles to gradually roll out if successful.
Azure Traffic Manager acts as a DNS-based load balancer, routing traffic across Azure regions with priority and weighted routing for active-passive failover and canary deployments.
Configure Azure Traffic Manager with weighted routing across two web apps in different locations. Manage endpoints, health checks, and host headers to enable canary deployments and production-staging traffic routing.
Implement traffic routing with Azure Pipelines by creating a staging endpoint in a Traffic Manager profile and configuring weightage between staging and production using PowerShell scripts.
Implement rolling deployments across Azure virtual machines, using deployment groups or VM scale sets to update in phases and batches, gradually replacing older versions with newer ones.
Learn how to use Azure load balancer to manage blue-green deployments, including configuring a backend pool, health probe, and load balancing rules, and switching traffic to the green environment.
Set up blue-green deployments with Azure load balancer by creating two Windows Server 2019 VMs, installing IIS, and placing both behind the load balancer after disassociating public IPs.
Configure an Azure load balancer to route traffic between production and staging backend pools, using health probes and a simple blue-green deployment to switch versions.
Execute a release pipeline task using Azure PowerShell to switch the load balancer backend pool from production to staging and verify the change.
Publish and consume packages with Azure Artifacts, including NuGet, npm, Maven, and Python, via private repositories and public feeds, enabling developers to use Newtonsoft.Json for JSON data.
Build a simple C# class library and publish it to an Azure Artifacts feed. Configure NuGet, authentication, and a credential provider to publish and consume private packages.
Learn to consume a package from an Azure Artifacts feed in Visual Studio by configuring a package source, authenticating with a credential provider, and using the package's display method.
Discover Azure artifacts feeds to store and manage packages within projects, with public feeds in public projects, and learn about upstream sources and feed views like @local, @prerelease, and @release.
Publish your build as a NuGet package to an Azure Artifacts feed using Azure Pipelines, configure package versioning, authenticate, and grant the build service permission to push.
Explore pipeline reports and analytics to monitor pass rate and duration, drill into per-step times to optimize bottlenecks, and configure dashboard widgets for deployment status.
Learn how flaky tests cause intermittent pipeline failures due to external service issues, and enable Azure DevOps automatic flaky test detection using system detection in project settings under test management.
Explore the Azure App Config service to centralize key-value settings and feature flags for multiple Azure web apps. Use configuration explorer and feature manager to define and toggle features.
Use selenium to run UI tests for a web app in a C# MS Test project, with chrome driver, asserting page titles, and integrate tests into an Azure DevOps pipeline.
Explore azure test plans to perform manual and user acceptance testing, capture results, and achieve end-to-end traceability by linking test cases to user stories with test runner and feedback extension.
Apply for a free trial of test plans, then grant users required access in organization settings; the trial provides full test plans access, with purchase required afterward.
Create test plans and suites, link test cases to user stories for end-to-end traceability, and define manual test steps that can be assigned and marked as passed.
Explore how the test and feedback extension enables stakeholders to request and provide feedback on a feature, using notes, screen capture, and a session timeline within a project.
Explore the security perspective in Azure DevOps, revisiting service connections and personal access tokens, and master secrets management with variables, Azure Key Vault, and code scanning with SonarQube and OVAs.
Explore how to define, set, and reference variables in Azure DevOps pipelines using Bash and PowerShell, and compare compile-time versus run-time evaluation with practical examples.
Set and seal variables directly in the release pipeline, including the Azure SQL Server fully qualified domain name and a secret password, noting values are not settable at release time.
Link shared variable groups to the release pipeline in the classic user interface to reuse variables as secrets across release stages, keeping values consistent without editing tasks.
Learn how to create and configure an Azure Key Vault to securely store secrets, certificates, and encryption keys, and prepare for integrating it with Azure pipelines.
Define a db password secret in Azure key vault and access it from a yaml pipeline using the Azure key vault secrets task, with service principal permissions and artifact publishing.
Integrate Azure Key Vault secrets into an ARM template using a static reference to securely deploy an Azure SQL database via Cloud Shell, with proper access policies and parameter handling.
Demonstrates dynamically referencing an Azure Key Vault secret within an arm template via a nested deployment to configure a sql server and database.
Integrate the OWASP Zap scanner into your release pipeline to scan an Azure web app, using a Docker image in an Azure container instance, and publish results to storage.
See how to integrate the OWASP ZAP scanner into an Azure release pipeline, including creating a storage account and file share, deploying a container instance, and provisioning access keys.
Create and reference service connections in your project settings to connect Azure DevOps to external services like an Azure subscription, GitHub, or an Azure Kubernetes cluster, keeping credentials secure.
Discover how personal access tokens securely enable Azure DevOps service connections to external services, authenticate with Azure DevOps, and control access for self-hosted agents and deployment groups.
Review the instrumentation strategy using Azure Monitor and Application Insights to monitor Azure resources and web applications' performance. Focus on exam-relevant monitoring concepts for AZ-400.
Explore Azure Monitor to view metrics and activity logs, graph resource performance, save dashboards, and debug the ARM template deployments using event details and JSON insights.
Learn to set up alerts in Azure Monitor by defining resource scope, conditions on metrics like CPU percentage, and actions via an action group to notify teams or trigger runbooks.
Explore how Azure Monitor uses machine learning on historical metrics to set dynamic thresholds, detecting patterns and anomalies and triggering alerts on deviations.
Explore how the Log Analytics workspace centralizes logs from Azure VMs, on-prem servers, and Azure SQL database, enables connections via diagnostic settings, and supports query-driven insights with solutions and visualizations.
Create a log analytics workspace in Azure, connect resources, install the log analytics agent on virtual machines, and configure data collection rules for Windows event logs to the central workspace.
Connect the Azure VM to a Log Analytics workspace, install the dependency agent via an ARM template, and deploy the Service Map solution to discover components, connections, and latency.
Configure auto scale for a virtual machine scale set using network traffic thresholds and scale conditions, then enable email notifications and log analytics workspace diagnostics to track autoscale actions.
Explore how Application Insights provides application performance management and monitoring for live web apps, detects performance issues, and supports .Net, Note.gs, Java, and Python across Azure, on-prem, and other clouds.
Create an Azure web app and an Application Insights resource, link them, and deploy an ASP.NET Core project from Visual Studio to monitor live telemetry and metrics using Application Insights.
Explore Application Insights features like live telemetry, users, sessions, events, funnels, cohorts, and performance. Learn how smart detection enables real-time failure alerts and how to configure alerts and action groups.
learn how application insights stores data in a log analytics workspace by default, link resources to an existing workspace, and query and visualize app request data.
Configure azure container instances probes in yaml deployment via container groups to enable liveness and readiness checks, automatically restarting unhealthy containers and delaying startup until dependencies like databases are ready.
Explore how to manage Azure DevOps notifications by using user settings to view and create subscriptions, receive email alerts for builds and pull requests, and tailor alerts for your pipeline.
Learn how the IT service management connector links Azure Monitor alerts to external service management tools like ServiceNow, automatically creating incidents when CPU usage or other metrics exceed thresholds.
Right here! Avail special discount coupon links for all of my Al Azure and AWS Courses
Version 2.0 July 2022
Completed a major refresh of the AZ-400 course. This is to align with the major changes made to the AZ-400 exam by Microsoft on the 13th of July.
All sections are being refreshed. Sections are being added as NEW and will contain a refresh of all key concepts and demos.
The course now aligns with the new exam objectives
Configure processes and communications
Design and implement source control
Design and implement build and release pipelines
Develop a security and compliance plan
Implement an instrumentation strategy
Version 1.1 Mar 2021
Updated chapters on working with GitHub - This is to reflect the changes made to the naming convention of the main branch. GitHub now refers to the master branch as the main branch.
Updated the chapters on working with Git repositories from Visual Studio 2019 - With the newer version of Visual Studio 2019, the way on working with Git Repositories has changed.
This course is designed for students who want to attempt the Exam AZ-400: Designing and Implementing Microsoft DevOps Solutions
This course has contents for the Exam AZ-400
The objectives covered in this course are
Develop an instrumentation strategy (5-10%)
Develop a Site Reliability Engineering (SRE) strategy (5-10%)
Develop a security and compliance plan (10-15%)
Manage source control (10-15%)
Facilitate communication and collaboration (10-15%)
Define and implement continuous integration (20-25%)
Define and implement a continuous delivery and release management strategy (10-15%)
In this course , you will learn aspects which includes the following
Working with Azure Boards
How to work with Git - Here there are extensive labs on working with Git repositories. Here you will also learn how to work with Azure Repos
How to create and implement Build pipelines using Azure Pipelines
How to use Jenkins for configuration management
Implementing security in your continuous pipeline
Building your infrastructure with ARM templates. There are also chapters on how to work with Terraform
Releasing your applications with Azure Release Pipelines