Курс 20487-D: Developing Microsoft Azure and Web Services
На этом курсе студенты узнают, как проектировать и разрабатывать службы, которые получают доступ к локальным и удаленным данным из различных источников. Студенты также узнают, как разрабатывать и развертывать службы в гибридных средах, включая локальные серверы и Microsoft Azure.
Профиль аудитории
Основная. Разработчики .NET, которые хотят научиться разрабатывать службы и развертывать их в гибридных средах.
Вторичная: разработчики .NET с опытом разработки веб-приложений, которые изучают разработку новых приложений или переносят существующие приложения в Microsoft Azure.
Должностные обязанности: разработчик.
Просмотреть все сеансы
Приобретенные навыки
- Описание основных концепций разработки служб и стратегий доступа к данным с использованием платформы .NET.
- Описание облачной платформы Microsoft Azure, а также предложения по хостингу вычислений, данных и приложений.
- Проектирование и разработка дата-ориентированного приложения, используя Visual Studio 2017 и Entity Framework Core.
Предварительные требования
Перед посещением этого курса студенты должны иметь:
- Опыт программирования на C# и использования таких концепций, как лямбда-выражения, LINQ и анонимные типы.
- Понимание концепций n-уровневых приложений
- Опыт работы с данными и манипулирования данными с ADO.NET
Перед посещением этого курса студенты должны иметь:
- Опыт программирования на C# и использования таких концепций, как лямбда-выражения, LINQ и анонимные типы.
- Понимание концепций n-уровневых приложений
- Опыт работы с данными и манипулирования данными с ADO.NET
Структура курса
Модуль 1: Обзор сервисных и облачных технологий
Этот модуль предоставляет обзор сервисных и облачных технологий с использованием Microsoft .NET Core и Azure. В Уроке «Ключевые компоненты распределенных приложений» обсуждаются характеристики, общие для распределенных систем, независимо от технологий, которые они используют. Урок 2 «Технологии доступа к данным» описывает, как данные используются в распределенных приложениях. В Уроке 3 «Сервисные технологии» обсуждаются два наиболее распространенных протокола в распределенной системе и технологии .NET Core, используемые для разработки служб на ос...
Модуль 1: Обзор сервисных и облачных технологий
Этот модуль предоставляет обзор сервисных и облачных технологий с использованием Microsoft .NET Core и Azure. В Уроке «Ключевые компоненты распределенных приложений» обсуждаются характеристики, общие для распределенных систем, независимо от технологий, которые они используют. Урок 2 «Технологии доступа к данным» описывает, как данные используются в распределенных приложениях. В Уроке 3 «Сервисные технологии» обсуждаются два наиболее распространенных протокола в распределенной системе и технологии .NET Core, используемые для разработки служб на основе этих протоколов. Урок 4 «Облачные вычисления» описывает облачные вычисления и их реализацию в Azure.
Уроки
- Ключевые компоненты распределенных приложений
- Данные и технологии доступа к данным
- Сервисные технологии
- Облачные вычисления
- Манипулирование данными
Лабораторная работа: изучение рабочей среды
- Создание проекта ASP.NET Core
- Создание простой модели Entity Framework
- Создание класса веб-API
- Развертывание веб-приложение в Azure.
После завершения этого модуля студенты смогут следующее:
- Объяснить сервисную архитектуру и среду размещения (хостинга)
- Объяснить облачные вычисления и облачную платформу Microsoft Azure
- Объяснить стратегии доступа к данным
Модуль 2: Запрос и управление данными с использованием Entity Framework
В этом модуле вы узнаете о модели данных Entity Framework, а также о том, как создавать, читать, обновлять и удалять данные. Entity Framework - это богатая возможностями объектно-реляционная программа управления памятью, которая предоставляет удобный и мощный интерфейс прикладного программирования (API) для манипулирования данными. Этот модуль фокусируется на подходе Code First с Entity Framework.
Уроки
- Обзор ADO.NET
- Создание сущностной модели данных
- Запрос данных
Лабораторная работа: создание уровня доступа к данным с использованием Entity Framework
- Создание модели данных
- Запрос базы данных
Лабораторная работа: манипулирование данными
- Создание методов репозитория
- Тестирование модели с использованием SQL Server и SQLite.
После завершения этого модуля студенты смогут следующее:
- Описать основные объекты в ADO.NET и объяснить, как работают асинхронные операции.
- Создать модель данных Entity Framework Core.
- Запрашивать данные с помощью Entity Framework Core.
- Вставлять, удалять и обновлять объекты, используя Entity Framework Core.
Модуль 3: Создание и использование Web API ASP.NET Core.
ASP.NET Core Web API предоставляет надежную и современную среду для создания служб на основе протокола передачи гипертекста (HTTP). В этом модуле вы познакомитесь со службами на основе HTTP. Вы узнаете, как работает HTTP, а также познакомитесь с сообщениями HTTP, методами HTTP, кодами состояния и заголовками. Вы также познакомитесь с архитектурным стилем передачи состояния представлений (REST) и гипермедиа.
Вы узнаете, как создавать службы на основе HTTP с помощью ASP.NET Core Web API. Вы также узнаете, как запрашивать и получать такие службы от различных клиентов. После Урока 3 в лабораторной работе «Создание ASP.NET Core Web API» вы создадите веб-API, запросите и получите его от клиента.
Уроки
- HTTP службы
- Создание ASP.NET Core Web API.
- Использование ASP.NET Core Web API.
- Обработка HTTP-запросов и ответов
- Автоматическая генерация HTTP-запросов и ответов
Лабораторная работа; Создание ASP.NET Core Web API.
- Создание класса контроллера
- Использование API из браузера
- Создание клиента
После завершения этого модуля студенты смогут следующее:
- Разрабатывать службы с использованием протокола HTTP.
- Создавать службы с использованием ASP.NET Core Web API.
- Использовать классы HttpRequest/IActionResult для управления HTTP-сообщениями.
- Использовать службы ASP.NET Web API.
Модуль 4: Расширение возможностей HTTP-служб ASP.NET Core
ASP.NET Core Web API предоставляет завершенное решение для построения HTTP-служб, но службы часто имеют различные потребности и зависимости. Во многих случаях вам потребуется расширить или настроить способ, которым ASP.NET Core Web API выполняет вашу службу. Потребности в обработке, такие как обработка ошибок и ведение журнала, интегрируются с другими компонентами вашего приложения и поддерживают другие стандарты, доступные в мире HTTP. Понимание того, как работает ASP.NET Core Web API, важно при расширении возможностей ASP.NET Core Web API. Разделение обязанностей между компонентами и порядок выполнения важны при вмешательстве в работу ASP.NET Core Web API. Наконец, с помощью ASP.NET Core Web API вы также можете расширить возможности взаимодействия с другими частями вашей системы. Используя механизм разрешения зависимостей вы можете контролировать, как создаются экземпляры вашей слежбы, а также вам предоставляется полный контроль над управлением зависимостями служб.
Уроки
- Конвейер запросов ASP.NET Core
- Настройка контроллеров и действий
- Внедрение зависимостей в контроллеры
Лабораторная работа: настройка конвейера ASP.NET Core
- Использование внедрения зависимостей для получения объекта репозитория
- Создание кэш-фильтра
- Создание промежуточного программного обеспечения для отладки
После завершения этого модуля студенты смогут следующее:
- Расширять возможности конвейера запросов и ответов ASP.NET Web API.
- Настраивать контроллеры и действия.
- Вставлять зависимости в контроллеры ASP.NET Web API.
Модуль 5: Локальные хостинги служб и Azure.
В этом модуле вы узнаете, как разместить ваше приложение в локальном хостиге и в Azure. Вы также узнаете о контейнерах Docker и о создании бессерверных приложений с функциями Azure.
Уроки
- Размещение служб на локальных хостингах
- Размещение служб в Служба приложений Azure
- Упаковка служб в контейнеры
- Внедрение безсерверных служб
Лабораторная работа: размещение службы ASP.NET Core в Windows Service
- Создание нового приложения ASP.NET Core
- Регистрация Windows Service
Лабораторная работа: размещение ASP.NET Core Web API в Azure Web App.
- Создание веб-приложения на портале Azure
- Развертывание ASP.NET Core Web API в веб-приложении.
Лабораторная работа: размещение службы ASP.NET Core в экземплярах контейнеров Azure
- Публикация службы в контейнере Docker.
- Размещение службы в экземплярах контейнеров Azure.
Лабораторная работа: реализация функции Azure
- Разработка службы на локальном уровне
- Развертывание службы в функциях Azure.
После завершения этого модуля студенты смогут следующее:
- Размещать службы локально с использованием служб Windows и Microsoft Internet Information Services (IIS).
- Размещать службы в облачной среде Azure с помощью веб-приложений, контейнеров Docker и функций Azure.
- Упаковывать службы в контейнеры.
- Внедрять бессерверные службы.
Модуль 6: Развертывание и управление службами
В этом модуле вы узнаете о Web Deploy и о том, как развертывать веб-приложения с помощью Web Deploy в Visual Studio. Вы также узнаете, как определять непрерывную интеграцию и конвейеры непрерывной доставки и как использовать Azure API Management и OpenAPI для обеспечения надежных, безопасных и надежных API-интерфейсов для ваших клиентов.
Уроки
- Веб-развертывание с помощью Visual Studio 2017
- Непрерывная доставка с помощью Visual Studio Team Services
- Развертывание приложений в рабочей среде и в подготовительной среде.
- Определение интерфейсов служб с помощью Azure API Management
Лабораторная работа; Развертывание веб-службы ASP.NET Core на Linux.
- Публикация веб-службы ASP.NET Core для Linux.
- Настройка Nginx в качестве обратного прокси
Лабораторная работа: развертывание на стадии подготовки и производства
- Развертывание приложение для производства
- Создание подготовительного слота
- Замена рабочей среды
Лабораторная работа: публикация веб-API с помощью Azure API Management
- Создание экземпляра Azure API Management
- Тестирование и управление API
После завершения этого модуля студенты смогут следующее:
- Объяснить веб-развертывание Microsoft Internet Information Services (IIS).
- Объяснить развертывание Azure Web Apps с помощью конвейера сборки Microsoft Visual Studio Team Services.
- Объяснить, как развертывать веб-службы в экземплярах контейнеров Azure.
- Объяснить, как определять сервисные интерфейсы с помощью API Management и Swagger.
- Объяснить, как определять политики с помощью API Management.
- Объяснить определение интерфейсов служб с помощью Azure API Management и Swagger.
Модуль 7: Реализация хранилища данных в Azure
В этом модуле объясняется, как хранить и получать доступ к данным, хранящимся в Azure Storage. Также объясняется, как настроить права доступа к контейнеров-хранилищ и содержимого хранилища.
Уроки
- Выбор механизма хранения данных
- Доступ к данным в Azure Storage
- Работа со структурированными данными в Azure
- Географическое распределение данных с помощью Azure CDN
- Масштабирование с использованием внепроцессного кэша
Лабораторная работа: хранение файлов в Azure Storage
- Хранение общедоступных файлов в BLOB-объектах Azure.
- Создание и хранение личных файлов в BLOB-объектах Azure.
Лабораторная работа: запрос графических данных с помощью CosmosDB
- Создание базы графических данных CosmosDB
- Запрос базы данных CosmosDB
Лабораторная работа: кэширование вне-процесса с помощью кэша Azure Redis
- Создание службу Azure Redis Cache.
- Доступ к службе кэша из кода
- Тестирование приложения
После завершения этого модуля студенты смогут следующее:
- Описание архитектуры хранилища.
- Контроль доступа к элементам вашего хранилища.
- Кэширование данных с помощью Azure Cache для Redis.
- Распространение данных с помощью сеть доставки содержимого Microsoft Azure.
Модуль 8: Диагностика и мониторинг
В этом модуле объясняется, как отслеживать и регистрировать службы, как локальные, так и в Azure.
Уроки
- Вход в ASP.NET Core
- Диагностические инструменты
- Телеметрия приложения (Application Insights)
Лабораторная работа: мониторинг ASP.NET Core с помощью ETW и LTTng
- Сбор и просмотр событий ETW
- Сбор и просмотр событий LTTng
Лабораторная работа: мониторинг Azure Web Apps с помощью телеметрии приложения Application Insights
- Добавление Application Insights SDK
- Нагрузочный тест веб-службы
- Анализ результатов производительности
После завершения этого модуля студенты смогут следующее:
- Объяснить прослушиватели трассировки
- Объяснить счетчики производительности
- Объяснить события ETW и LTTng
- Демонстрация использования App Insights для мониторинга служб
Модуль 9: Обеспечение безопасности служб, размещенных локально и в Microsoft Azure
В этом модуле описываются концепции и стандарты идентификации на основе утверждений, а также способы реализации проверки подлинности и авторизации с помощью Azure Active Directory для защиты службы ASP.NET Core Web API.
Уроки
- Объяснение терминологии безопасности
- Обеспечение безопасности служб с помощью ASP.NET Core Identity
- Обеспечение безопасности служб с помощью Azure Active Directory
Лабораторная работа: использование ASP.NET Core Identity
- Добавление промежуточного программного обеспечения ASP.NET Core Identity
- Добавление кода авторизации
- Запуск клиентского приложения для тестирования сервера.
Лабораторная работа: использование Azure Active Directory с ASP.NET Core
- Аутентификация клиентского приложения, используя AAD B2C и MSAL.js.
Модуль 10: Масштабирование служб
В этом модуле объясняется, как создавать масштабируемые службы и приложения и автоматически масштабировать их с помощью балансировщиков нагрузки веб-приложений, Azure Application Gateway и Azure Traffic Manager.
Уроки
- Введение в масштабируемость
- Автоматическое масштабирование
- шлюз приложений Azure (Azure Application Gateway) и диспетчер трафика (Azure Traffic Manager)
Лабораторная работа: балансировка нагрузки Azure Web App
- Подготовка приложения для балансировки нагрузки
- Проверка балансировки нагрузки с привязкой общности экземпляра.
- Проверка балансировки нагрузки без привязки общности
Лабораторная работа: балансировка нагрузки с помощью Azure Traffic Manager
- Развертывание Azure Web App в нескольких регионах.
- Создание профиля Azure Traffic Manager.
После завершения этого модуля студенты смогут следующее:
- Объяснить необходимость масштабируемости.
- Описать, как использовать балансировку нагрузки для масштабируемых служб.
- Объяснить работу балансировщика нагрузки Azure Load Balancer, шлюза приложений Azure Application Gateway и диспетчера трафика Azure Traffic Manager.