Описание курса:
Цель курса – предоставить слушателям знания и навыки проектирования и разработки служб доступа к локальным и удаленным данным, написания и развёртывания служб в гибридных средах, включая локальные серверы и облако Microsoft Azure.
Аудитория
Этот курс предназначен для разработчиков .NET, желающих узнать, как разрабатывать сервисы и разворачивать их в гибридных средах, а также для разработчиков .NET, которые хотят изучить разработку и миграцию приложений в Microsoft Azure.
По окончании курса слушатели смогут:
Описать базовые концепции разработки служб и стратегии доступа к данным с помощью платформы .NET;
Описать облачную платформу Microsoft Azure и ее возможности вычислений, хранения данных и приложений;
Проектировать и разрабатывать приложения, ориентированные на обработку данных, с использованием Visual Studio 2017 и Entity Framework Core.
Проектировать и использовать HTTP-службы с помощью ASP.NET Core.
Расширять HTTP-службы с использованием ASP.NET Core;
Размещать службы на локальных серверах и в Mirosoft Azure;
Развертывать службы в локальных и облачных средах, а также настраивать права доступа к службам;
Выбирать хранилище данных, кэшировать, распределять и синхронизировать данные;
Отслеживать, журналировать и устранять неполадки служб;
Описать концепции и стандарты claim-based identity и реализовать аутентификацию и авторизацию с помощью Azure Active Directory;
Создавать масштабируемые службы.
Сертификационные экзамены
Курс помогает подготовиться к следующим сертификационным экзаменам:
70-487: Developing Microsoft Azure and Web Services
Необходимая подготовка:
Для эффективного обучения на курсе слушатели должны обладать следующими знаниями и навыками:
Опыт разработки на языке С# с использованием лямбда-выражений, LINQ и анонимных типов.
Понимание концепции многоуровневых приложений.
Опыт работы с запросами и обработкой данных с помощью ADO.NET.
Модуль 1: Обзор служб и облачных технологий
В этом модуле представлен обзор служб и облачных технологий с использованием Microsoft .NET Core и облака Azure.
Темы
Основные компоненты распределенных приложений
Данные и технологии доступа к данным
Технологии служб
Облачные вычисления
Работа с данными
Лабораторная работа: Изучение среды разработки
Создание проекта ASP.NET Core
Создание модели Entity Framework
Создание класса web API
Развертывание веб-приложения в Azure
По окончании этого модуля слушатели смогут:
Описать архитектуру и среды размещения приложений
Описать концепции облачных вычислений и облачной платформы Microsoft Azure
Описать технологии доступа к данным
Модуль 2: Работа с данными с помощью Entity Framework
Этот модуль описывает модель данных Entity Framework, а также способы создания, чтения, обновления и удаления данных. Данный модуль базируется на подходе Entity Framework Code First.
Темы
Обзор ADO.NET
Создание модели данных (Entity Data Model)
Создание запросов к данным
Лабораторная работа: Создание компонента доступа к данным с помощью Entity Framework
Создание методов репозитория
Тестирование модели с подключением SQL Server и SQLite
По окончании этого модуля слушатели смогут:
Описать основные компоненты ADO.NET и асинхронные операции
Создать модель данных с использованием Entity Framework Core
Извлекать данные с использованием Entity Framework Core
Вставлять, удалять и обновлять сущности с использованием Entity Framework
Модуль 3: Создание и использование ASP.NET Core Web API
В этом модуле описываются HTTP-службы, которые разрабатываются, размещаются и используются с помощью ASP.NET Core Web API.
Темы
Службы HTTP
Создание службы ASP.NET Core Web API
Обработка HTTP-запросов и ответов
Автоматическая генерация HTTP-запросов и ответов
Лабораторная работа: Создание ASP.NET Core Web API
Создание класса контроллера
Использование API
Создание клиента
По окончании этого модуля слушатели смогут:
Создавать службы с использованием HTTP-протокола
Создать службу ASP.NET Core Web API
Использовать класс HttpRequestMessage и интерфейс IActionResult для управления сообщениями HTTP
Размещать и запускать службы ASP.NET Web API
Модуль 4: Расширение служб ASP.NET Core HTTP
В этом модуле подробно описывается архитектура ASP.NET Web API и способы расширения и защиты служб ASP.NET Web API.
Темы
Конвейер запросов (request pipeline) ASP.NET Core
Расширение контроллеров и действий
Внедрение зависимостей в контроллеры
Лабораторная работа: Расширение ASP.NET Core Pipeline
Использование внедрения зависимостей (Dependency Injection) при получении объектов репозитория
Создание кэш-фильттра
Отладка Middleware
По окончании этого модуля слушатели смогут:
Расширять конвейер запросов и откликов ASP.NET Web API
Расширять контроллеры и действия
Внедрять зависимости в контроллеры ASP.NET Web API
Модуль 5: Размещение служб на локальных серверах и в Azure
Этот модуль описывает, как размещать приложение на локальных серверах и в Azure. В нем описываются контейнеры Docker и написание бессерверных приложений с помощью Azure Functions.
Темы
Размещение служб на локальном сервере
Размещение служб в Azure App Service
«Упаковка» служб в контейнеры
Реализация бессерверных служб
Лабораторная работа: Размещение службы ASP.NET Core в Windows Service
Создание нового приложения ASP.NET Core
Регистрация Windows Service
Лабораторная работа: Размещение ASP.NET Core Web API в Azure Web App
Создание Web App на портале Azure
Развертывание ASP.NET Core Web API на Web App
Лабораторная работа: Размещение службы ASP.NET Core в экземплярах контейнеров Azure
Публикация службы в контейнеры Docker
Размещение службы в экземплярах контейнеров Azure
Лабораторная работа: Реализация Azure Function
Разработка службы локально
Развертывание сервиса в Azure Functions
По окончании этого модуля слушатели смогут:
Размещать службы на локальном сервере с использованием служб Windows и IIS
Размещать службы в облачной среде Azure с использованием Web Apps, Docker containers, and Azure Functions
«Упаковывать» службы и контейнеры
Реализовать бессерверные службы
Модуль 6: Развертывание служб и управление ими
Этот модуль описывает различные методы развертывания веб-приложений.
Темы
Веб-развертывание через Visual Studio 2017
Непрерывная поставка (Continuous Delivery) с использованием Visual Studio Team Services
Развертывание приложений в «промежуточную среду» (staging) и «продакшен» (production)
Определение интерфейсов служб с использованием Azure API Management
Лабораторная работа: Развертывание веб-службы ASP.NET Core на Linux
Publish the ASP.NET Core web service for Linux
Configure Nginx as a reverse proxy
Лабораторная работа: Развертывание в Staging и Production
Развертывание приложения в «продакшен» (production)
Создание слотов в staging
Переключение между средами
Лабораторная работа: Публикация Web API с использованием Azure API Management
Создание экземпляра Azure API Management
Тестирование и настройка API
По окончании этого модуля слушатели смогут:
Развертывать веб-службы с Microsoft Internet Information Services (IIS)
Развертывать Azure Web Apps с помощью конвейера сборки Microsoft Visual Studio Team Services
Развертывать веб-сервисы в экземпляры Azure Container
Определять интерфейсы служб с использованием API Management и Swagger
Применять политики с использованием API Management.
Модуль 7: Реализация хранилища данных в Azure
Этот модуль описывает работу с данными, размещенными в хранилище Azure Storage.
Темы
Выбор механизма хранения данных
Доступ к данным в Azure Storage
Работа со структурированными данными в Azure
Географически распределенные данные с использованием Azure CDN
Масштабирование с использованием Out-of-Process Cache
Лабораторная работа: Хранение файлов в Azure Storage
Хранение общедоступных файлов в Azure Blobs
Создание и хранение частных файлов в Azure Blobs
Лабораторная работа: Запросы к данным графа в базе данных CosmosDB
Создание базы данных графа CosmosDB
Написание запросов к базе данных CosmosDB
Лабораторная работа: Кэширование out-of-process с использованием Azure Redis cache
Создание службы Azure Redis Cache
Доступ к кэшу из кода
Тестирование приложения
По окончании этого модуля слушатели смогут:
Описать архитектуру хранилища данных
Контролировать доступ к элементам хранилища
Кэшировать данные с помощью Azure Cache for Redis.
Распределять данные с использованием Microsoft Azure Content Delivery Network.
Модуль 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
Добавление промежуточного слоя Add ASP.NET Core Identity
Добавление кода авторизации
Запуск клиентского приложения на сервере
Лабораторная работа: Использование Azure Active Directory с ASP.NET Core
Добавление промежуточного слоя ASP.NET Core Identity
Аутентификация клиентского приложения с использованием AAD B2C и MSAL.js
По окончании этого модуля слушатели смогут:
Описать безопасность служб и веб-приложений
Использовать ASP.NET Core Identity
Использовать Azure Active Directory
Модуль 10: Масштабирование служб
В этом модуле объясняется, как создавать масштабируемые службы и приложения и автоматически масштабировать их с помощью балансировщиков нагрузки веб-приложений, Azure Application Gateway и Azure Traffic Manager.
Темы
Введение в масштабирование
Автоматическое масштабирование
Azure Application Gateway и Traffic Manager
Лабораторная работа: Балансировщик нагрузки Azure Web Apps
Подготовка приложения для балансировки нагрузки
Тестирование балансировки нагрузки с привязкой экземпляра
Тестирование балансировки нагрузки без привязки экземпляра
Лабораторная работа: Балансировка нагрузки с помощью Azure Traffic Manager
Развертывание веб-приложения Azure на несколько регионов
Создание профиля Azure Traffic Manager
По окончании этого модуля слушатели смогут:
Объяснить необходимость масштабирования
Описать использование балансировки нагрузки для масштабируемых служб
Использовать Azure Load Balancer, Azure Application Gateway, and Azure Traffic Manager.