MOC 20532: Developing Microsoft Azure Solutions
What You'll LearnAfter completing this course, students will be able to:
- Review the services available in the Azure platform and the Management Portals used to manage the service instances.
- Create a Virtual Machine using the Azure Management Portal and create an image of the VM.
- Create an Azure Web Site and publish an existing ASP.NET web application to the site.
- Create an Azure SQL server and database.
- Describe and identify the common practices and patterns for building resilient and scalable web applications that will be hosted in Azure.
- Create an Azure Cloud Service project in Visual Studio 2013 and debug locally.
- Create a background process using a Azure Worker Role.
- Create an Azure Table Storage table and manage the table data using the .NET API for Azure Storage.
- Create Azure Files SMB file share and store documents.
- Create an Azure Storage Queue instance to store requests.
- Create an Azure Service Bus queue instance to store requests.
- Create an Azure Service Bus namespace and use the namespace to connect a cloud web application to the local WCF service.
- Create a Virtual Machine using the existing SQL template and connect this Virtual Machine to the existing application.
- Create a test environment using PowerShell and the Azure Service Management CmdLets.
- Integrate ASP.NET Identity for the administration portal with Azure Active Directory.
- Deploy the web application projects to Azure.
Module 1: Overview Of The Microsoft Azure PlatformThis module reviews the services available in the Azure platform and the Management Portals used to manage the service instances.
- Azure Services
- Management Portals
Module 2: Building Application Infrastructure in AzureAlthough 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, Azure Virtual Networks, reviews the Microsoft Azure Virtual Network offering available in Azure. Lesson 5, 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 6, Virtual Machine Configuration Management, describes the common methods for managing and duplicating the configuration for virtual machines. Lesson 7, Customizing Azure Virtual Machine Networking, reviews the options for managing inbound and outbound connection rules for your virtual machine.
- Constructing Azure Virtual Machines
- Azure Virtual Machine Workloads
- Highly Available Azure Virtual Machines
- Virtual Machine Configuration Management
- Customizing Azure Virtual Machine Networking
Module 3: Hosting Web Applications on the Azure PlatformThis module provides an overview of the Azure Web Apps service. Lesson 1, “Azure Web Apps”, describes the Web Apps service in Azure. Lesson 2, “Hosting Web Applications in Azure“, describes the behavior and lifecycle of an Azure Web App. Lesson 3, “Configuring an Azure Web App”, discusses the various configuration options available to change the behavior of your Web App. Lesson 4, “Publishing an Azure Web App”, describes the process for publishing a web application using WebDeploy to Azure Web Apps.
- Azure Web Sites
- Hosting Web Applications in Azure
- Configuring an Azure Web Site
- Publishing an Azure Web Site
Module 4: Storing SQL Data in AzureDynamic 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.
- Storing SQL Data in Azure
- Managing SQL Databases in Azure
- Azure SQL Database Tools
- Securing and Recovering an Azure SQL Database Instance
Module 5: Designing Cloud Applications For ResiliencyAs 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, Building High Performance Applications by 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 3, Common Cloud Application Patterns, introduces a small set of example patterns from the MSDN cloud patterns reference. Lesson 4, Application Analytics, demonstrates the Application Insights service. Lesson 5, Caching Application Data, compares the Microsoft Azure Cache and Microsoft Azure Redis Cache services..
- Application Design Practices for Highly Available Applications
- Application Analytics
- Building High Performance Applications using ASP.NET
- Common Cloud Application Patterns
- Caching Application Data
Module 6: Storing Tabular Data in AzureDynamic 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. Lesson 1, What Is Azure SQL Database, defines the Microsoft Azure SQL Database service in Azure and the reasons for using it. Lesson 2, Managing SQL Databases in Azure, describes the widely used management tools as well as the new ones available for use with a SQL database hosted in Azure. Lesson 3, Using Azure SQL Databases with SQL Server Data Tools, describes in detail the SQL Server Data Tools (SSDT) templates, panes, and projects available in Microsoft Visual Studio 2015. Lesson 4, Migrating Data to Azure SQL Databases, describes a couple of simple methods to migrate an existing schema and data from an on-premises environment to the cloud. Lesson 5, Using Azure SQL Databases with Entity Framework, provides details on some of the ways you can leverage Entity Framework Code First to your advantage when working with a database that is hosted in the cloud.
- Azure Storage Overview
- Azure Storage Tables Overview
- Table Entity Transactions
Module 7: Storing and Consuming Files from Azure StorageWhen 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, introduces briefly the Azure Files service.
- Storage Blobs
- Controlling Access to Storage Blobs and Containers
- Configuring Azure Storage Accounts
- Azure Files
Module 8: Designing a Communication Strategy by Using Queues and Service BusWith 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.
- Azure Stoage Blobs
- Azure Service Bus
- Azure Service Bus Queues
- Azure Service Bus Relay
- Azure Service Bus Notification Hubs
Module 9: Automating Integration with Azure ResourcesAlthough 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. Lesson 1, Azure SDK Client Libraries, briefly describes the client libraries that are available for managing and interacting with Azure services. Lesson 2, Scripting Azure Service Management by Using Windows PowerShell, describes the modules that are available for managing Azure services by using Windows PowerShell. Lesson 3, Azure REST Interface, introduces and describes the Service Management API. Lesson 4, Resource Manager, discusses the new Resource Manager in Azure and the concepts associated with the new method of managing resources.
- Azure SDK Client Libraries
- Scripting Azure Service Management by Using Windows PowerShell
- Azure REST Interface
- Azure Resource Manager
Module 10: Securing Azure Web ApplicationsJust 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 Multi-Factor Authentication, describes the multi-factor authentication features in Azure AD.
- Azure Active Directory
- Azure AD Directories
- Azure AD Multi-Factor Authentication
- Lab: Using the Azure Preview Portal
- Lab: Creating an Azure Virtual Machine for Development & Testing
- Lab: Creating an ASP.NET Web Site Using Azure Websites
- Lab: Storing Event Data in Azure SQL
- Lab: Creating Azure Web Roles Using Visual Studio 2013
- Lab: Creating a Background Process Using Azure Worker Roles
- Lab: Storing Attendee Registration Data in Azure Table Storage
- Lab: Storing Generated Documents in Azure Blob Storage
- Lab: Creating File Shares using Azure Files
- Lab: Using Storage Queues to Manage Requests Between Web Applications in Azure
- Lab: Using Service Bus to Manage Communication Between Web Applications in Azure
- Lab: Managing Multiple Virtual Machines in a Virtual Network
- Lab: Automating the Creation of a Test Environment using PowerShell
- Lab: Integrating Azure Active Directory with the Events Administration Portal
- Lab: Deploying the Events Web Application to Azure