Course Overview

In the early days of cloud computing, the “cloud” was mostly a place to park data and spin up virtual machines. Today it is much more. In addition to providing access to traditional storage and compute resources on Linux as well as Windows, Microsoft Azure includes extensive infrastructure options, rich management and analytical tools, and dozens of services to aid developers in building intelligent services and applications. Learn about key features that Azure offers, how to use them to build robust, resilient, and super-scalable applications, and how to use Azure DevOps to manage the software-development lifecycle from start to finish.

Key Learning Areas

Attendees will acquire first-hand experience using Azure and the services that it offers. You will learn:

  • How to deploy and manage resources using the Azure Portal and the Azure CLI
  • How to host Web sites and Web APIs in the cloud and how to implement continuous integration (CI) and continuous delivery (CD)
  • How to use Azure DevOps to set up a DevOps workflow and utilize Azure DevOps features such as Boards, Pipelines, Artifacts, and Test Plans
  • How to use Azure Storage, Azure SQL Database, and Azure Cosmos DB to store data in the cloud
  • How to use Azure Active Directory to secure applications and implement single sign-on
  • How to use Azure Service Bus to link apps and services with message queues
  • How to deploy and manage containerized workloads in the cloud using the Azure Container Instances and other container services
  • How to write serverless applications using Azure Functions
  • How to use Azure Cognitive Services to build intelligent apps backed by AI and machine learning
  • How to use these and other services as building blocks for end-to-end solutions

Each course module consists of a lecture followed by a hands-on lab designed to reinforce the principles presented during lecture.

Course Outline

Introduction to Azure
Learn what Azure is and what services it offers. Learn about the building blocks of cloud-based apps, and then dive into the Azure Portal and create your first virtual machine (VM).

Azure Web Apps
Learn how to host Web apps and Web services in the cloud using Azure Web Apps, learn about deployment slots, and other features that this service offers.

Azure DevOps Overview
Learn the basics of managing deployments using Azure DevOps, and about the core features that every team member needs to know, including Boards, Repos, Pipelines, Test Plans, and Artifacts. Also examine an end-to-end DevOps workflow and learn about organization and team configuration.

Azure Boards
How do you know where you’re going If you don’t have a plan? Learn about how to use Azure Boards to do project planning your way and how to gain greater insights into product delivery with greater traceability.

Azure Storage
Learn how to store data in the cloud by leveraging Azure Storage services such as blob storage. Also learn how to manage these services and how to interact with them using REST APIs and packages that wrap those APIs.

Azure Active Directory
Learn about the identity and access-management services that Azure provides and how to use them to secure your applications and implement single sign-on.

Azure Repos with Git
Learn how to get unlimited, cloud-hosted private Git repos and collaborate to build better code with pull requests and advanced file management. Also learn about centralized vs. decentralized version control, working with branches, and pull requests.

Azure Databases
Learn how to use Azure SQL Database to host relational databases in the cloud and benefit from massive scalability, automatic tuning, geo-replicated backup, automatic threat detection, and more. Also learn about Cosmos DB – Azure’s globally-distributed, multi-model database service – and how you can use it as a data repository for your applications.

Azure Resource Manager (ARM) Templates
Complex Azure solutions comprising dozen, even hundreds, of resources must be automated and repeatable. ARM templates allow developers and administrators to encapsulate complex deployments in declarative templates that can be parameterized and that also support script execution for tasks that can’t be handled declaratively. Learn all about ARM templates and how to use them to remove human error from the process of deploying your solutions.

Azure Pipelines for Build
Learn how to take any app, written in any language, and build it with Azure Pipelines. You’ll learn the how to do continuous delivery, run tests, and how to package your product for deployment.

Azure Pipelines for Release
Learn how to take your output from build and release it to Windows, macOS, or Linux. You’ll learn how to visually design pipelines as well as about YAML integrated pipelines. In addition, you’ll understand how you can deploy into internal self-hosted servers as well as the cloud.

Azure Service Bus
Messaging is the glue that binds apps and microservices that work together, and messaging is the purpose of Azure Service Bus. Learn about the messaging and queuing services that Service Bus supports and how to use them to compose cloud-based applications.

Azure Container Services
Learn how to use Docker containers to deploy containerized workloads to the cloud and orchestrate their execution. Also learn about the Azure Container Registry (ACR) and Azure Container Instances (ACI).

Azure Test Plans: Exploratory and Manual Testing
Azure Test Plans provides three types of test-management artifacts: test plans, test suites, and test cases. can export and share them with your team, and benefit from close integration for all of your DevOps tasks. Learn what these artifacts are, how they work, and how to use them create and manage test cases, run manual tests, and run exploratory tests.

Azure Functions
Learn how to use Azure Functions to deploy functions written in C#, JavaScript, PowerShell, Python, and other languages to the cloud.

Azure Cognitive Services
Learn about the Computer Vision API and other APIs available in Azure Cognitive Services for building intelligent apps backed by AI and machine learning.

Azure Artifacts: Sharing Code Effectively
Learn how it to share code effectively in complied format using Azure Artifacts, a service that allows you to expose feeds of components packaged in NuGet, Maven, or npm formats. You’ll also learn about the generic Universal Package format for things that don’t nicely fit into the standard package types.

Automated App Testing
Learn how to ship solutions that ae high quality by managing your Test Plans and Test Cases using Azure Test Plans. You’ll see how you can manually test your app, track your changes, and integrate the results with Azure Boards.

Azure Application Insights
Learn how your Application Insights, a component of the larger Azure Monitor family, makes it easy to bring Application Performance Management to your apps by letting you monitor live web apps and services deployed to the cloud. You’ll learn how you can instrument your apps as well as add custom telemetry.

Azure DevOps Feedback: User Acceptance Testing and Team Analytics
Learn how you can engage your customers in the DevOps process by getting continuous feedback as you build your application. Learn how you can visualize your teams progress and share information digitally with dashboards and analytics data.

Azure DevOps Customization & APIs
Azure DevOps is a rich platform used by millions. Learn how you can customize and extend the platform by customizing process templates and how to interact with the rich, REST-based API surface to integrate Azure DevOps into your larger, organizational processes.

Who Benefits

This course is for software developers who want to learn how to build cloud-based applications. The hands-on labs involve a lot of coding, most of which is done in C#.

Prerequisites

In order to work the labs, attendees must have the following:

  • Experience programming in C#
  • A browser such as Edge or Chrome and access to the Internet
  • Access to an Azure subscription (Azure Pass, MSDN subscription, free trial, etc.) Company subscriptions are permitted but may come with administrative constraints that prevent some lab exercises from being performed.

Each student should bring a Windows 10 computer with Visual Studio Community 2019 or higher with the latest Visual Studio updates installed and the .NET Desktop Development, ASP.NET and Web Development, Azure Development, and UWP Development workloads installed. Alternatively, students can create a Visual Studio VM in Azure and connect to it using the Windows Remote Desktop client. If Windows VMs are used to work lab exercises, the teaching facility must allow student machines to connect via Remote Desktop (port 3389) to remote machines.