Developing Microsoft Azure and Web Services (20487D)

In this course, students will learn how to design and develop services that access local and remote data from various sources. Students will also learn how to develop and deploy services to hybrid environments, including on-premises servers and Microsoft Azure.

Audience ProfilePrimary: .NET developers who want to learn how to develop services and deploy them to hybrid environments.Secondary: .NET developers with Web application development experience who are exploring developing new applications or porting existing applications to Microsoft Azure.

At Course CompletionAfter completing this course, students will be able to:

Describe the basic concepts of service development and data access strategies using the .NET platform.

Course OutlineModule 1: Overview of service and cloud technologiesThis module provides an overview of service and cloud technologies using the Microsoft .NET Core and the Azure. The first lesson, “Key Components of Distributed Applications,” discusses characteristics that are common to distributed systems, regardless of the technologies they use. Lesson 2, “Data and Data Access Technologies” describes how data is used in distributed applications. Lesson 3, “Service Technologies,” discusses two of the most common protocols in distributed system and the .NET Core technologies used to develop services based on those protocols. Lesson 4, “Cloud Computing,” describes cloud computing and how it is implemented in Azure.Lessons

Key Components of Distributed Applications

Data and Data Access Technologies

Service Technologies

Cloud Computing

Manipulating Data

Lab : Exploring the Work EnvironmentAfter completing this module, students will be able to:

Explain services architecture and hosting environments

Explain cloud computing and the Microsoft Azure cloud platform

Explain data access strategies

Module 2: Querying and Manipulating Data Using Entity FrameworkIn this module, you will learn about the Entity Framework data model, and about how to create, read, update, and delete data. Entity Framework is a rich object-relational mapper, which provides a convenient and powerful application programming interface (API) to manipulate data. This module focuses on the Code First approach with Entity Framework.Lessons

ADO.NET Overview

Creating an Entity Data Model

Querying Data

Lab : Creating a Data Access Layer using Entity FrameworkLab : Manipulating DataAfter completing this module, students will be able to:

Module 3: Creating and Consuming ASP.NET Core Web APIsASP.NET Core Web API provides a robust and modern framework for creating Hypertext Transfer Protocol (HTTP)-based services. In this module, you will be introduced to the HTTP-based services. You will learn how HTTP works and become familiar with HTTP messages, HTTP methods, status codes, and headers. You will also be introduced to the Representational State Transfer (REST) architectural style and hypermedia. You will learn how to create HTTP-based services by using ASP.NET Core Web API. You will also learn how to consume them from various clients. After Lesson 3, in the lab "Creating an ASP.NET Core Web APIs", you will create a web API and consume it from a client.Lessons

HTTP Services

Creating an ASP.NET Core Web API

Consuming ASP.NET Core Web APIs

Handling HTTP Requests and Responses

Automatically Generating HTTP Requests and Responses

Lab : Creating an ASP.NET Core Web APIAfter completing this module, students will be able to:

Design services by using the HTTP protocol.

Create services by using ASP.NET Core Web API.

Use the HttpRequest/IActionResult classes to control HTTP messages.

Consume ASP.NET Web API services.

Module 4: Extending ASP.NET Core HTTP ServicesASP.NET Core Web API provides a complete solution for building HTTP services, but services often have various needs and dependencies. In many cases, you will need to extend or customize the way ASP.NET Core Web API executes your service. Handling needs such as applying error handling and logging integrate with other components of your application and supporting other standards that are available in the HTTP world. Understanding the way ASP.NET Core Web API works is important when you extend ASP.NET Core Web API. The division of responsibilities between components and the order of execution are important when intervening with the way ASP.NET Core Web API executes. Finally, with ASP.NET Core Web API, you can also extend the way you interact with other parts of your system. With the dependency resolver mechanism, you can control how instances of your service are created, giving you complete control on managing dependencies of the services.Lessons

The ASP.NET Core Request Pipeline

Customizing Controllers and Actions

Injecting Dependencies into Controllers

Lab : Customizing the ASP.NET Core PipelineAfter completing this module, students will be able to:

Extend the ASP.NET Web API request and response pipeline.

Customize Controllers and Actions.

Inject dependencies into ASP.NET Web API controllers.

Module 5: Hosting Services On-Premises and in AzureIn this module you will learn how to host your application on-premises and on Azure. You will also learn about Docker containers, and writing serverless applications with Azure functions.Lessons

Hosting Services on-premises

Hosting Services in Azure App Service

Packaging Services in Containers

Implementing Serverless Services

Lab : Host an ASP.NET Core service in a Windows ServiceLab : Host an ASP.NET Core Web API in an Azure Web AppLab : Host an ASP.NET Core service in Azure Container InstancesLab : Implement an Azure FunctionAfter completing this module, students will be able:

Host services in the Azure cloud environment by using Web Apps, Docker containers, and Azure Functions.

Package services in containers.

Implement serverless services.

Module 6: Deploying and Managing ServicesIn this module, you will learn about Web Deploy and how to deploy web applications by using Web Deploy in Visual Studio. You will also learn how to define continuous integration and continuous delivery pipelines and how to use Azure API Management and OpenAPI to provide robust, secure, and reliable APIs to your customers.Lessons

Web Deployment with Visual Studio 2017

Continuous Delivery with Visual Studio Team Services

Deploying Applications to Staging and Production Environments

Defining Service Interfaces with Azure API Management

Lab : Deploying an ASP.NET Core web service on LinuxLab : Deploying to Staging and ProductionLab : Publishing a Web API with Azure API ManagementAfter completing this module, students will be able to:

Explain how to define service interfaces by using API Management and Swagger.

Explain how to define policies by using API Management.

Explain defining service interfaces using Azure API Management and Swagger

Module 7: Implementing Data Storage in AzureThis module explains how to store and access data stored in Azure Storage. It also explains how to configure storage access rights for storage containers and content.Lessons