MS-20532: Devoloping Microsoft Azure Solutions

About this course

This course is intended for students who have experience building ASP.NET and C# applications.  Students will also have experience with the Microsoft Azure platform and a basic understanding of the services offered.

This course offers students the opportunity to take an existing ASP.NET MVC application and expand its functionality as part of moving it to Azure. This course focuses on the considerations necessary when building a highly available solution in the cloud. This course also prepares the students for the 70-532: Developing Microsoft Azure Solutions certification exam.

Audience profile

The candidates targeted by this training have basic experience in implementing and monitoring Microsoft Azure solutions. Candidates are also proficient with the development tools, techniques, and approaches used to build application solutions.

At course completion

After completing this course, students will be able to:

  • Compare the services available in the Azure platform.
  • Configure and deploy web applications.
  • Creating Azure Web Apps from the gallery.
  • Deploying and monitoring Azure Web Apps.
  • Creating and configuring Azure Virtual Machines.
  • Create and manage a storage account.
  • Manage blobs and containers in a storage account.
  • Create, configure and connect to a SQL Databases instance.
  • Identify the implications of importing a SQL standalone database.
  • Manage users, groups and subscriptions in an Azure Active Directory instance.
  • Create a virtual network.
  • Implement a point-to-site network. 

Prerequisites 

In addition to their professional experience, students must have experience working with the Azure platform. They will also have a general understanding of C# concepts for the lab scenario. Candidates experience can include: 

  • Compare the services available in the Azure platform
  • Configure and deploy web applications
  • Creating Azure Web Apps from the gallery
  • Deploying and monitoring Azure Web Apps
  • Creating and configuring Azure Virtual Machines
  • Create and manage a storage account
  • Manage blobs and containers in a storage account
  • Create, configure, and connect to a SQL Databases instance
  • Identify the implications of importing a SQL standalone database
  • Manage users, groups, and subscriptions in an Azure Active Directory instance
  • Create a virtual network
  • Implement a point-to-site network

Course Outline

Module 1: Overview of the Microsoft Azure Platform

Microsoft Azure provides a collection of services that you can use as building blocks for your cloud applications. 

Lessons 

  • Azure Services
  • Azure Portals

Lab: Exploring the Azure Portal

After completing this module, you will be able to:

  • Describe some of the common Azure services.
  • Describe the differences between the Microsoft Azure Portal and the Classic Portal. 

Module 2: Building Application Infrastructure in Azure

Although many Microsoft Azure services use virtual machines, sometimes your application might have a unique need where it requires a virtual machine that is completely unmanaged. Azure provides networking, backup, and virtualization services as part of its Infrastructure-as-a-Service (IaaS) offering. 

Lessons 

  • Constructing Azure Virtual Machines
  • Azure Virtual Machine Workloads
  • Migrating Azure Virtual Machine Instances
  • Highly Available Azure Virtual Machines
  • Virtual Machine Configuration Management 
  • Customizing Azure Virtual Machine Networking

Lab: Creating an Azure Virtual Machine for Development and Testing

After completing this module, you will be able to:

  • Describe the Virtual Machines service in Azure.
  • Deploy a Linux or Microsoft workload to a virtual machine.
  • Import virtual hard disks to Azure.
  • Monitor virtual machine endpoints.

Module 3: Hosting Web Applications on the Azure Platform

This module provides an overview of the Azure Web Apps service.  

Lessons 

  • Azure Web Apps
  • Hosting Web Applications in Azure
  • Configuring an Azure Web App
  • Publishing an Azure Web App

Lab: Creating an ASP.NET Web App by Using Azure Web Apps

After completing this module, you will be able to:

  • Create a Web App instance.
  • Publish a simple ASP.NET web application to Web Apps.
  • Monitor a Web App instance.

Module 4: Storing SQL Data in Azure

Dynamic web applications must store the data that is being managed and manipulated by end users. ASP.NET technologies such as ADO.NET and Entity Framework provide a way for accessing data in SQL Server. In the cloud, the Microsoft Azure platform provides a database as a service offering that allows developers to use SQL in the same way as they would in an on-premises location.  

Lessons 

  • Storing SQL Data in Azure
  • Managing SQL Databases in Azure
  • Azure SQL Database Tools
  • Securing and Recovering an Azure SQL Database Instance

Lab: Storing Event Data in Azure SQL Databases

After completing this module, you will be able to:

  • Describe the difference between Azure SQL Database editions.
  • Explain some of the advantages and disadvantages of hosting databases in Azure SQL Database. 
  • Explain some of the advantages and disadvantages of hosting databases in a SQL Server installation on a virtual machine in Azure.
  • Describe the tools that you can use to manage Azure SQL Database.
  • Implement a high-availability solution with Azure SQL Database. 

Module 5: Designing Cloud Applications for Resiliency

As a developer, you should keep in mind certain considerations while designing applications for the cloud. Although there are many platform improvements available in the ASP.NET ecosystem, you need to rethink the way you design your applications, and the patterns that are used, with respect to the scalability and reliability metrics present for the cloud applications . 

Lessons 

  • Application Design Practices for Highly Available Applications
  • Application Analytics
  • Building High Performance Applications by Using ASP.NET
  • Common Cloud Application Patterns
  • Caching Application Data

After completing this module, you will be able to:

  • Describe the Valet Key, Retry and Transient Fault Handling Patterns
  • Use Load Balancing in a geographically redundant application
  • Create modular applications with partitioned workloads
  • Build High Performance ASP.NET Web Applications

Module 6: Storing Tabular Data in Azure

Dynamic web applications will invariably need to store the data that is being managed and manipulated by users. ASP.NET has always relied on technologies like ADO.NET and Entity Framework to access data from Microsoft SQL Server. For the cloud, the Microsoft Azure platform provides a SQL as a Service that allows developers to use SQL data and queries in the same manner as they would use in an on-premises implementation.  

Lessons 

  • Azure Storage Overview
  • Azure Storage Tables Overview
  • Table Entity Transactions

Lab: Storing Event Registration Data in Azure Storage Tables

After completing this module, you will be able to:

  • Describe the difference between Azure SQL Database editions.
  • Explain some of the advantages and disadvantages of hosting databases in SQL Database. 
  • Explain some of the advantages and disadvantages of hosting databases in a SQL Server installation on an Azure virtual machine.
  • Describe the tools that you can use to manage SQL databases in Azure.
  • Describe the Visual Studio 2015 features that you can use to manage SQL databases in Azure.
  • Describe the options for migrating data from an on-premises environment to the cloud.
  • Describe the strategies for using Entity Framework with SQL databases in Azure.

Module 7: Storing and Consuming Files from Azure Storage

When you want to scale to different cloud instances, storing files to a local disk becomes a difficult process to maintain and eventually an unreliable method of storage. Azure provides a Blob storage mechanism that not only offers high performance but also supports integration to Microsoft Azure Content Delivery Network (CDN) for low latency downloads. 

Lessons 

  • Storage Blobs
  • Controlling Access to Storage Blobs and Containers
  • Configuring Azure Storage Accounts
  • Azure Files

Lab: Storing Generated Documents in Azure Storage Blobs

After completing this module, you will be able to:

  • Describe the Blob service in Microsoft Azure Storage.
  • Identify the software development kit (SDK) libraries, namespaces, and classes that are available for blobs.

Module 8: Designing a Communication Strategy by Using Queues and Service Bus

With web applications presenting content and worker roles processing the logic, there needs to be a mechanism that facilitates the communication between these different entities. Microsoft Azure provides two queuing mechanisms that you can use for this purpose. 

Lessons 

  • Azure Storage Queues
  • Azure Service Bus
  • Azure Service Bus Queues
  • Azure Service Bus Relay
  • Azure Service Bus Notification Hubs

Lab: Using Queues and Service Bus to Manage Communication Between Web Applications in Azure

After completing this module, you will be able to:

  • Describe Storage Queues service.
  • Describe Service Bus.
  • Describe Service Bus Queues service. 
  • Describe Service Bus Relay.
  • Describe Notification Hubs service.

Module 9: Automating Integration with Azure Resources

Although you can manage most of the Azure services by using both of the Azure portals or Microsoft Visual Studio 2013, you can use scripting to completely automate the management of the same resources. This module will look at automating the lifecycle of the services by using client libraries, Windows PowerShell, REST, and the Resource Manager. 

Lessons 

  • Azure SDK Client Libraries
  • Scripting Azure Service Management by Using Windows PowerShell
  • Azure REST Interface
  • Azure Resource Manager

Lab: Automating the Creation of Azure Assets using PowerShell and xPlat CLI

After completing this module, you will be able to:

  • Describe the Azure software development kits (SDKs) and client libraries.
  • Use Windows PowerShell to automate Azure service management.
  • Describe the Service Management API and the steps to authenticate to the API.
  • Use the Resource Manager to create resource groups and templates.

Module 10: Securing Azure Web Applications

Just like on-premises applications, applications in the cloud need streamlined security mechanisms that are flexible. Azure Active Directory is an identity provider that can provide identity and access functionality for your custom applications or SaaS applications. 

Lessons 

  • Azure Active Directory
  • Azure AD Directories
  • Azure AD Multi-Factor Authentication

Lab: Integrating Azure Active Directory with the Events Administration Portal

After completing this module, you will be able to:

  • Describe the Azure AD service.
  • Explain the features that are available for the directories in Azure AD.
  • Describe the Microsoft Azure Multi-Factor Authentication service.