Developing Microsoft Azure Solutions (20532) – Outline

Detailed 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.

  • Lesson 1, “Azure Services,” provides a recap of the services that you might have worked with when using the Microsoft Azure platform in the past.
  • Lesson 2, “Azure Portal," describes the Azure portal that is available for managing Azure subscriptions and services.
Lessons
  • Azure Services
  • Azure Portal
Lab: Exploring the Azure Portal
  • Signing in to the Azure Portal
  • Customizing the Azure Portal

After completing this module, students will be able to:

  • Describe some of the common Azure services.
  • Describe features of the Azure 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.

  • Lesson 1, “Azure Virtual Machines,” introduces the Virtual Machines service and describes the options that you can use for creating a virtual machine.
  • Lesson 2, “Azure Virtual Machine Workloads,” provides details on the types of workloads that you can deploy to a virtual machine.
  • Lesson 3, “Migrating Azure Virtual Machine Instances,” describes the options for migrating virtual machines to and from Azure. Lesson 4, “Highly Available Azure Virtual Machines,” reviews the options and features that must be considered when designing your Virtual Machine instances for high availability scenarios.
  • Lesson 5, “Virtual Machine Configuration Management,” describes the common methods for managing and duplicating the configuration for virtual machines.
  • Lesson 6, “Customizing Azure Virtual Machine Networking,” reviews the options for managing inbound and outbound connection rules for your virtual machine.
  • Lesson 7, “Virtual Machine Scale Sets,” introduces the VMSS service and describes how it can be used to automatically provision virtual machines for autoscale scenarios.
Lessons
  • 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
  • Virtual Machine Scale Sets
Lab: Creating an Azure Virtual Machine for Development and Testing
  • Creating a Network and Resource Container
  • Creating a Development Virtual Machine
  • Configuring the Virtual Machine for Development

After completing this module, students 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.

  • Lesson 1, “Azure Web Apps,” introduces the Azure App Service platform-as-a-service offering available in Azure and specifically focuses on the Web Apps feature of App service.
  • Lesson 2, “Azure Logic and Function Apps," explores two of the types of apps available in Azure App Service.
  • Lesson 3, “Configuring an App Service App,” discusses the various configuration options available to change the behavior of your app.
  • Lesson 4, “Publishing an App Service App,” describes the process for publishing a web application to an app.
  • Lesson 5, “Supplemental Services,” introduces additional service offerings for web applications in Azure such as the intelligent service offerings and the API Management service that can be used as a proxy to an App Service app.
Lessons
  • Azure Web Apps
  • Azure Logic and Function Apps
  • Configuring an App Service App
  • Publishing an Azure App Service App
  • Supplemental Services
Lab: Creating an ASP.NET Web App by Using Azure Web Apps
  • Creating an Azure Web App and Function App
  • Deploying an ASP.NET Web Application to an Azure Web App
  • Configuring an Azure Web App
  • Deploy a Console Application to an Azure Function App

After completing this module, students will be able to:

  • Create a Web App instance.
  • Publish a simple ASP.NET web application to Web Apps.
  • Monitor a Web App instance.
  • Use additional Azure services with a Web App instance.
  • Use Function and Logic Apps to create an integration workflow.
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.

  • Lesson 1, "Azure SQL Database Overview," describes the Azure SQL Database service and reasons you would consider using it.
  • Lesson 2, "Managing SQL Databases in Azure," describes the familiar and new management tools that are available for use with a SQL database that is hosted in Azure.
  • Lesson 3, "Azure SQL Database Tools," describes the SQL Server Data Tools (SSDT) templates, panes, and projects that are available in Microsoft Visual Studio 2013.
  • Lesson 4, "Securing and Recovering an Azure SQL Database Instance," describes the recovery scenarios relevant in Azure SQL Database.
  • Lesson 5, “Azure Database for MySQL and PostgreSQL,” introduces the two managed database options for PostgreSQL and MySQL hosting.
Lessons
  • Azure SQL Database Overview
  • Managing SQL Databases in Azure
  • Azure SQL Database Tools
  • Securing and Recovering an Azure SQL Database Instance
  • Additional Managed Database Services
Lab: Storing Event Data in Azure SQL Databases
  • Creating an Azure SQL Databases Instance
  • Using Entity Framework with Local SQL Server
  • Using Entity Framework with Azure SQL Databases

After completing this module, students 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.
  • Describe the Azure Database for MySQL and PostgreSQL services.
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.

  • Lesson 1, “Application Design Practices for Highly Available Applications,” discusses some of the considerations that are needed when you design applications that are hosted in the cloud such that they result in minimal downtime.
  • Lesson 2, “Application Analytics,” demonstrates the Application Insights service.
  • Lesson 3, “Building High Performance Applications using ASP.NET,” describes the changes in the ASP.NET stack in .NET 4.5 that improve the framework’s performance in web applications.
  • Lesson 4, “Common Cloud Application Patterns,” introduces a small set of example patterns from the MSDN cloud patterns reference.
  • Lesson 5, “Caching Application Data,” compares the Microsoft Azure Cache and Microsoft Azure Redis Cache services.
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, students 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 Unstructured Data in Azure

Many new application workloads require new databases that offer scale and flexibility far beyond the capabilities of a traditional relational database. In Azure, there is a wide variety of NoSQL database services available for applications to store unstructured data in a flexible, schema-free and scalable fashion.

  • Lesson 1, “Azure Storage,” introduces the Azure Storage service and details some of the storage types available to applications using Azure Storage.
  • Lesson 2, “Azure Storage Tables,” details the Table key-value store available as a NoSQL database in Azure Storage.
  • Lesson 3, “Redis Cache,” introduces the Redis Cache key-value based NoSQL store and details how it can be used as a cache database.
  • Lesson 4, “Azure Search,” describes the Azure Search service offering that indexes and provides rich-search capabilities for documents stored in structured and unstructured storage.
  • Lesson 5, “Azure Cosmos DB,” explores the Azure Cosmos DB service as a flexible NoSQL database that supports a large variety of APIs and models.
Lessons
  • Azure Storage Overview
  • Azure Storage Tables
  • Azure Redis Cache
  • Azure Search
  • Azure Cosmos DB
Lab: Storing Event Registration Data in Azure Storage Tables
  • Populating the Sign-In Form with Registrant Names
  • Updating the Events Website to use Azure Cosmos DB
  • Verify that the Events Web Site is using Azure Cosmos DB for Registrations

After completing this module, students will be able to:

  • Describe the Azure Storage service.
  • Use Azure Search or Cosmos to store NoSQL data.
  • Use Azure Redis Cache to store cache data.
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.

  • Lesson 1, "Storage Blobs," describes the Blob service and the types of blobs supported.
  • Lesson 2, "Controlling Access to Storage Blobs," provides details on the ways that you can secure and grant temporary access to blobs or containers.
  • Lesson 3, "Configuring Azure Storage Accounts," looks at some of the unique configuration options available for Storage blobs.
  • Lesson 4, "Azure Files," briefly introduces the Azure Files service.
Lessons
  • Azure Storage Blobs
  • Controlling Access to Storage Blobs and Containers
  • Configuring Azure Storage Accounts
  • Azure Files
Lab: Storing Generated Documents in Azure Storage Blobs
  • Implement Azure Storage Blob
  • Populating the Container with Files and Media
  • Retrieving Files and Media from the Container
  • Specifying Permissions for the Container

After completing this module, students 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.

  • Lesson 1, "Azure Storage Queues," introduces the queue mechanism that is available in Azure storage accounts.
  • Lesson 2, "Azure Service Bus," introduces the Service Bus offering in Azure.
  • Lesson 3, "Azure Service Bus Queues," describes the queuing mechanism that is available in Service Bus and how it differs from Azure Storage queues.
  • Lesson 4, "Azure Service Bus Relay," describes the relay mechanism available to connect client devices to WCF services.
  • Lesson 5, "Azure Service Bus Notification Hubs," introduces the Notification Hubs service and infrastructure useful for pushing notifications to mobile devices.
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
  • Creating an Azure Service Bus Namespace
  • Using Azure Storage Queues for Document Generation
  • Using Service Bus Queues for Document Generation

After completing this module, students 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, 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.

  • Lesson 1, “Resource Manager,” discusses the Resource Manager architecture in Azure and the concepts associated with this method of managing resources and groups.
  • Lesson 2, “Creating Azure Scripts using Azure PowerShell,” describes the modules that are available for managing Azure resources using Azure PowerShell.
  • Lesson 3, “Creating Azure Scripts using Azure CLI,” describes the cross-platform command-line interface used to manage Azure resources.
  • Lesson 4, “Azure REST Interface,” introduces and describes the REST API used to manage all resources in Azure.
  • Lesson 5, “Azure Cloud Shell,” describes the Cloud Shell and how it is used to execute scripts within the Azure Portal and context of an Azure subscription.
Lessons
  • Creating Azure Scripts using Azure PowerShell
  • Creating Azure Scripts using Azure CLI
  • Azure Resource Manager
  • Azure REST Interface
  • Azure Cloud Shell
Lab: Automating the Creation of Azure Assets using PowerShell and Azure CLI
  • Use Azure CLI to Create and Manage an Azure Web App
  • Use PowerShell to Create and Manage an Azure Storage Account

After completing this module, students will be able to:

  • Describe the Azure software development kits (SDKs) and client libraries.
  • Use Windows PowerShell to automate Azure REST.
  • Describe the REST API and the steps to authenticate to the API.
  • Use the Resource Manager to create resource groups and templates.
Module 10: DevOps in Azure

Although you can deploy your cloud applications manually, it is in your best interest to begin automating cloud-based deployments. Automation creates many benefits including the ability to trace past actions, easier repetition of deployment tasks and reduced possibility of human error.

  • Lesson 1, “Continuous Integration,” discusses strategies for integrating source control repositories with running cloud service instances for automatic deployment scenarios.
  • Lesson 2, “DevTest Labs,” introduces the DevTest service which is useful for automating the creation of machine-specific environments and lab scenarios.
  • Lesson 3, “Azure Resource Manager Templates,” discusses the capability to deploy entire workloads in Azure from a JSON template.
  • Lesson 4, “Managed Solution Hosting,” introduces Service Fabric, Azure Container Service and Azure Container Instances as methods used to host solutions using a fully-managed service.
Lessons
  • Continuous Integration
  • Azure DevTest Labs
  • Azure Resource Manager Templates
  • Managed Solution Hosting
Lab: Deploying Templated Environments Using the Cloud Shell
  • Start the Cloud Shell
  • Use the Cloud Shell to Deploy an ARTM Template

After completing this module, students will be able to:

  • Automate the deployment of their applications to Azure.
Module 11: 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.

  • Lesson 1, “Azure Active Directory,” introduces the Azure AD service.
  • Lesson 2, “Azure AD Directories,” details how to create a directory in Azure AD.
  • Lesson 3, “Azure AD Offerings,” describes the various offerings available in Azure AD such as B2B, B2C, and multi-factor authentication.
  • Lesson 4, “Azure Key Vault,” introduces the Azure Key Vault service designed to manage secrets for workloads and applications.
Lessons
  • Azure Active Directory
  • Azure AD Directories
  • Azure AD Offerings
  • Azure Key Vault
Lab: Integrating Azure Active Directory with the Events Administration Portal
  • 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.

After completing this module, students 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.