Всем привет! В этой статье мы продолжаем наш рассказ про ключевые анонсы конференции Build. Прошлый выпуск мы посвятили железячным анонсам (от облака до девкитов для разработчиков) и инструментам разработки. Сегодня мы расскажем про облако и ботов.
В этом выпуске:
- Обзор архитектуры Azure от Марка Руссиновича
- Ключевые анонсы про Microsoft Azure
- Обновления в инструментах для диалоговых интерфейсов
- Alexa и Кортана: дружба-жвачка
Обзор архитектуры Azure от Марка Руссиновича
Начать этот рассказ лучше всего с традиционной сессии от Марка Руссиновича с обзором аппаратной и софтверной архитектуры облака Microsoft. Если вам интересно, как Microsoft управляет более 100 дата-центрами в 50 облачных регионах, обеспечивая высокую доступность, производительность и безопасность, зачем мы инвестируем в «чистую» энергию, как мы используем внутри FPGA и много другое — смотрите обзор от Марка:
Ключевые анонсы про Microsoft Azure [11-33]
Анонсы про наше огромное облако мы постарались разбить по десяти темам, оставив Azure IoT/IoT Edge на следующий выпуск:
- Обновление Azure Kubernetes Service [11]
- Микросервисы, контейнеры и Serverless [12-19]
- Обновление Azure Cosmos DB [20]
- Обновление Azure Cognitive Services [21-25]
- Обновление Azure Machine Learning [26-27]
- Обновление Azure Media Services [28-29]
- Анонс Azure Blockchain Workbench [30]
- Анонс Microsoft CDN [31]
- Анонс Azure Maps [32]
- Анонс Azure Confidential Computing [33]
Обновление Azure Kubernetes Service (AKS) [11]
AKS — это облачный сервис, специализированный на управлении контейнерами с помощь Kubernetes. Ниже перечислены ключевые новинки сервиса:
- Поддержка DevOps-проектов для AKS. Мы добавили в VSTS поддержку работы с AKS-кластерами. Теперь вы можете в несколько кликов создать новый кластер, контейнеризировать приложение, развернуть его через CI/CD пайплайн в VSTS и анализировать телеметрию через App Insight. Все это на базе одного DevOps-проекта.
- Кастомная VNET с Azure CNI. Один из самых частых запросов на новые фичи — это возможность разворачивать узлы Kubernetes в существующей VNET. Теперь это возможно через Azure CNI, включая настраиваемые диапазоны IP-адресов для сетевых компонент.
- Мониторинг состояния контейнеров в AKS с помощью Azure Monitor. Возможно, вы уже знакомы с сервисом Azure Monitor, который позволяет отслеживать состояние ваших виртуальных машин в близком к реальному времени. Теперь вы также можете использовать этот сервис для отслеживания «здоровья» и производительности ASK-кластера.
- Роутинг для HTTP-приложений. АKS теперь поддерживает возможность выставить публично приложение, используя напрямую Kubernetes Ingress-контроллер, без необходимости конфигурирования DNS-записей и имен серверов.
- AKS для Windows-контейнеров (закрытое превью). Многие наши клиенты интересуются возможностью управления Windows-контейнерами с помощью AKS. Мы начали закрытое превью такого механизма.
- Azure Dev Spaces на базе AKS. Многие из вас, наверняка, сталкивались с ситуацией, когда вам нужно локально развернуть среду, максимально приближенную к боевой, чтобы попробовать отладить какой-то баг или проверить работу какой-то новой функциональности. Но это все время, сложности настройки среды, цепочки сборки, зависимостей и т.п. Azure Dev Spaces позволяет поднять необходимое окружение в ASK и легко подключиться к нему из среды разработки или Azure CLI.
- Обновленный опыт в Azure Portal. Мы существенно обновили интерфейс создания и управления AKS-кластеров в Azure Portal. Будем рады вашим отзывам.
Ссылки:
- Общий анонс про AKS
- Мониторинг AKS
- Записаться на превью AKS для Windows-контейнеров
- Записаться на превью Azure Dev Spaces
Микросервисы, контейнеры и Serverless [12-19]
В дополнение к обновлениям в AKS, мы также сделали несколько анонсов связанных в целом с управлением контейнерами:
- Microsoft Container Registry (MCR) — переход на модель синдикации. По мере роста интереса к теме контейнеров мы видим также рост числа каналов «получения» контейнеров для своих задач. В конечном счете, сообщество хочет иметь множество точек доступа, но при этом оставаться уверенным в надежности каждого конкретного образа. Поэтому для контейнеров от Microsoft мы переключаемся на модель синдикации, когда конечные образы будут доступны с mcr.microsoft.com (Microsoft Container Registry), а контент, описывающий контейнеры, будет доступен через привычные ресурсы вроде порталов Docker Hub и Red Hat.
- Обновление Azure Container Registry (ACR) включает:
- Выход гео-репликации контейнеров в общую доступность.
- ACR Build (превью для Linux) — позволяет настроить автоматическую сборку контейнеров из git-коммитов и обновлений базовых образов, таким образом автоматизируя применение патчей к ОС и фреймворкам. Мы также планируем добавить поддержку сборки контейнеров под ARM, позволяя таким образом ускорить обновление IoT-устройств.
- Безопасный по умолчанию реестр контейнеров. Размещение контейнеров в боевом окружении в идеале должно включать сканирование образов с точки зрения безопасности, особенно учитывая потенциальные внутренние зависимости одних образов (собственных) от других (чужих, неконтролируемых). В партнерстве с компаниями Aqua Security и Twistlock мы добавили в ACR поддержку нового шаблона для CI/CD, осуществляющего проверку образа перед разворачиванием.
- Обновление Azure App Services включает:
- Поддержку мульти-контейнеров — приложения обычно не существуют в вакууме, у них есть фронтэнд, API, кеширущие сервисы и т.п. Для увеличения переносимости и изоляции, вы можете каждый из этих блоков индивидуально упаковывать в контейнеры, но при этом работать с ними как единым юнитом (используя Docker Compose или Kubernetes Pod). Теперь вы можете разворачивать в App Services приложения, собранные из множества Docker-контейнеров, размещая их в единой VM.
- Linux в App Service Environment (ASE) выходит в публичное превью, возможности диагностики в ASE теперь расширены на линуксовые веб-приложения и Azure-функции, а веб-сайты могут авторизировать пользователей и ограничивать доступ, используя Azure AD, Facebook, Google, Twitter или Microsoft-аккаунты.
- Также в публичное превью выходят: удаленная отладка и поддержка собственных SSH-клиентов и протокола SFTP.
- Обновления в Azure Service Fabric включают:
- Azure Service Fabric Mesh — новые сервис, дающий привычные возможности Service Fabric, но снимающий головную боль управления кластерами и патчинга. Сервис поддерживает контейнеры на Windows и Linux. (Записаться на закрытое превью — aka.ms/sfmeshpreview).
- Версия SF 6.2 выводит в общую доступность среды выполнения .NET Code и Java кода на Linux, вместе с превью поддержки RHEL в качестве операционной системы.
- Возможность создания SF Standalone-кластеров, работающих на ваших серверах (on-premise), прямо из Azure (через портал или CLI).
- Расширение SF на IoT-устройства — возможность создания локальных кластеров из SF-приложений, развернутых на конечных устройствах, которые далее могут управляться централизованно через Azure IoT Hub.
- Обновления в Serverless-технологиях включают:
- Выход Durable Functions в общую доступность, варианции Azure Functions с поддержкой состояния и долгим процессом исполнения.
- Улучшенный опыт мониторинга и диагностики Azure Functions благодаря развитию интеграции с Aplication Insights и App Service Diagnostics, соответственно. Например, графики, которые вы наблюдаете в портале, идут напрямую из Application Insight.
- Расширение числа сервисов, поддерживающих интеграцию с Azure Event Grid, включая Service Bus, Azure Media Services и в ближайшем будущем Azure Container Registry. Также мы добавили два новых обработчика событий: Azure Storage Queues и Azure Relay Hybrid Connections.
- Поддержка открытого стандарта CloudEvents в Event Grid для мульти-облачных сценариев, а также кастомных схем для отображения полей в собственных событиях на Event Grid и альтернативных способ валидации конечных точек.
- Новые клиентские и управляющие Java SDK для Event Grid, а стабильные версии SDK для .NET, Node.js, Python, Go и Ruby.
- В Azure Stream Analytics в дополнение с существующим типам окон для анализа данных (Tumling/Переворачивающееся, Hopping/Прыгающее и Sliding/Скользящее) добавился тип сессионого окна. Сессионное окно создает временное окно переменного размера в зависимости от блока поступающих данных, позволяя, например, отфильтровать периоды отсутствия данных.
- В закрытом превью в Azure Stream Analytics появились также следующие возможности: возможность секционироваться данные на выходе из сервиса в блоб по любой колонке и обновленные встроенные ML-модели для обнаружения аномалий. Записаться на превью можно по ссылке: aka.ms/ASAPreview.
- Публичное превью Azure SignalR Services. Это полностью управляемый сервис, позволяющий использовать ASP.NET Core SignalR для создания приложений работающих в реальном времени (чаты, живые дашборды и т.п.), не беспокоясь о разворачивании, масштабировании, поддержании соединения и т.п.
Ссылки:
- Анонс про Microsoft Container Registry
- Анонс про Azure Container Registry
- Анонс про Azure App Service
- Анонс про Azure Service Fabric
- Анонс про Azure Functions
- Анонс про Azure Event Grid
- Анонс про Azure Stream Analytics
- Анонс про Azure SignalR Service
Обновление Azure Cosmos DB [20]
Сервис Azure Cosmos DB был анонсирован год назад и на сегодня это один из самых быстрорастущих сервисов Azure. Ключевые анонсы:
- Протокол мульти-мастерной репликации (в превью). Новый протокол позволяет обеспечить не только эластичность на чтение, но и на запись, покрывая разные Azure-регионы — 99.999% доступностью, гарантированной низкой задержкой (на уровне 99-персентиля). При этом вы получаете огромную масштабируемость на конечных точках, сервису все равно, речь идет о сотнях или миллиардах устройств, и вы по-прежнему выбираете модель консистентности данных, выбирая, что для вас важнее: доступность, задержка или пропускная способность.
Также протокол автоматически определяет потенциальные конфликты в без-мастерной модели и предлагает несколько четко-определенных стратегий их разрешения. В качестве демонстрации мульти-мастерной репликации мы сделали демонстрационный сервис PxDraw — это огромная многопользовательская доска для рисования, резвернутая между 22-регионами, и использующая мульти-мастерную возможность для снижения задержек. - Общая доступность для VNET Service Endpoint. Данная возможность позволяет напрямую общаться с Azure Cosmos DB изнутри вашей виртуальной сети в облаке, позволяя ограничить доступ к базе только пользователям вашей сети.
- Управление пропускной способностью на уровне базы данных (превью). До сих пор вы могли управлять пропускной способностью на уровне отдельной коллекции, таблицы или графа (в зависимости от модели данных), которые внутри представлялись как Cosmos DB container. Теперь вы можете задавать правила на уровне все базы данных (или наборе контейнеров), тем самым упрощая контроль затрат на разных уровнях хранения данных, в зависимости от типов нагрузки.
- Общая доступность для библиотеки Bulk Executor. Библиотека BulkExecutor создана как расширение к базовым SDK и предоставляет возможность делать балком (массово) операции в Cosmos DB, в среднем, достигая до 10-кратного улучшения в пропускной способности на запись.
- Общая доступность Asynchronous Java SDK для SQL API. SDK использует возможности популярной библиотеки RxJava для добавления нового набора асинхронных API для взаимодействия с базой данных.
Ссылки:
- Общий анонс про Azure Cosmos DB
- Подробнее про пример PxDraw
- Подробнее про VNET Service Endpoints
- Подробнее про управление пропускной способностью
- Подробнее про BulkExecutor
Обновление Azure Cognitive Services [21-25]
В рамках обновления набора когнитивных сервисов в Azure мы добавили следующие новые возможности:
- Computer Vision. Включает улучшенную OCR-модель для английского (в превью), подписи расширены на новые языки.
- Custom Vision. В дополнение к классификации изображений мы добавили возможность определения (положения) объектов. Модели из сервиса теперь можно загрузить в трех форматах: TensorFlow, CoreML и ONNX.
- Content Moderator. Появилась поддержка классификации текста, например, для обозначения потенциально взрослого, расистского или оскорбительного контента. Также появились инструменты человеческого ревью для текста и видео.
- Text Analytics. В дополнение к базовым возможностям анализа эмоций, выделения ключевых фраз и определения языка, добавилась функция выявления сущностей и связи их с известными объектами в интернете (например, в Википедии).
Также мы объявили о запуске трех новых или объединенных сервисов:
- Azure Speech Service — объединенный голосой сервис, включающий возможности Speech to Text, Text to Speech и Speech Translation (перевод). Все части сервиса поддерживают кастомизацию собственными данными. Например, теперь вы можете создавать брендированный голос.
- Bing Visual Search — сервис, позволяющий искать среди изображений, находить визуально похожие (например, распознавать звезд, объекты культуры и т.п.), работать с баркодами и извлекать текстовую информацию из изображений.
- Azure Cognitive Search — сервис, позволяющий обогощать существующие данные с помощью когнитивных сервисов и делать по расширенным данным поиск.
Наконец, мы запустили экспериментальные когнитивные сервисы — Cognitive Services Labs:
- Project Answer Search – позволяет улучшить поисковый опыт пользователя, автоматически запрашивая и отображая широко известные факты и информацию из интернета.
- Project URL Preview — создает превью веб-страниц по предоставленным ссылкам, отмечая наличие взрослого контента.
- Project Anomaly Finder — позволяет разработчикам автоматически мониторить изменение данных со временем и обнаруживать аномалии на основании статистических моделей.
- Project Conversation Learner (по приглашению) — позволяет создавать и обучать диалоговые интерфейсы на основании представленных примеров диалогов.
- Project Personality Chat (по приглашению в скором времени)– позволяет добавить умному агенту персональности, соответствующей вашему бренду, за счет поддержания диалогов на общие темы.
- Project Ink Analysis (по приглашению в скором времени) — позволяет «расшифровать» надписи цифровым пером и перевести их контент в объекты и текст.
Ссылки:
- Общий анонс про обновление когнитивных сервисов
- Общий анонс про обновление AI-платформы в Azure
- Анонс Azure Cognitive Search
Обновление Azure Machine Learning [26-27]
Новые возможности Azure ML:
- Azure ML SDK for Python (превью): единый управляющий API для дата-сайнтистов для выполнения на базе Azure ML ключевых этапов создания модели: распределение/выделение ресурсов, тренировка модели, разворачивание модели и оценка. Все из Python, с поддержкой множества python-совместимых фреймворков, включая: TensorFlow, CNTK, Scikit-learn и др.
- Azure ML Packages для компьютерного зрения, финансового прогнозирования и текстовой аналитики (превью). Данные пакеты представляют собой набор готовых питоновских расширений для Azure ML (устанавливаемых через pip), позволяющих разработчикам использовать достаточно точные и эффективные модели. При необходимости, можно, конечно, их пересобрать, обучить и поднастроить.
Также мы представили ML.NET(превью) — открытый кросс-платформенный ML-фреймворк для .NET-разработчиков. Это промышленная библиотека, включающая последние разработки в машинном обучении от Microsoft, используемая командами Bing, Office и Windows.
Ссылки:
- Общий анонс про обновление AI-платформы в Azure
- Прдробнее про Python-пакеты для Azure ML
- Анонс про ML.NET
Обновление Azure Media Services [28-29]
В рамках конференции мы объявили публичное превью новой версии API для Azure Media Services (v3). В третьей версии API упрощена модель разработки, что позволяет проще интегрироваться с другими сервисами (например, Event Grid и Functions), добавились новые аналитические возможности и обновился набор поддерживаемых SDK для .NET, .NET Core, Java, Go, Python и Node.js.
AI для медиа-контента
Год назад мы объявили о запуске сервиса Video Indexer, использующего возможности AI для выделения мета-информации из медиа-потоков и файлов. В этом году мы добавили в сервис новые возможности:
- Вы теперь можете подключить сервис Video Indexer к своей Azure-подписке, чтобы использовать его за рамками пробного периода;
- Новая версия API, учитывающая отзывы пользователей превью;
- Доступность сервиса в трех регионах: West US 2, North Europe и East Asia;
- Локализация интерфейса на шесть языков;
- Обновленная документация и примеры.
Ссылки:
Анонс Azure Blockchain Workbench [30]
За последние 18 месяцев мы наблюдали тысячи заказчиков, экспериментирующими с шаблонами блокчейн-решений и связанными с блокчейн-технологиями инструментами, доступными в Azure. Масса интересных сценариев — от отслеживания контрафактной продукции в фармацевтики до работы над созданием цифровых национальных валют.
Мы рады объявить о нашем новом инструменте — Azure Blockchain Workbench, позволяющем сократить сроки разработки пилотных блокчейн-решений с месяцев до дней. Workbench помогает автоматически настроить инфраструктуру для приложений, оставляя на откуп разработчикам непостредственно логику решений.
Технологически, Workbench использует внутри уже знакомый разработчикам шаблоны Azure Resource Manager (ARM), позволяя не только развернуть в облаке блокчейн-сеть, но и интегрировать ее с другими сервисами Azure: Azure AD для управления пользователями, Azure Key Vault для надежного хранения ключей, обработку событий для смарт-контрактов через Service Bus и Event Grid, взаимодействие с существующими системами и приложениями через Logic Apps и др.
Ссылки:
Анонс Microsoft CDN [31]
В дополнение к существующим опциям доступа через Azure к CDN от Verizon и Akamai, мы объявили о публичном превью Microsoft CDN — нашей собственной сети доставки контента, работающей поверх Microsoft Global Network.
На базе MGN построены такие сервисы Microsoft, как Office 365, Bing, Xbox Live, Skype и Windows. Теперь мощности сети становятся доступны также и пользователям Azure. Список доступных локаций пополнился на 54 глобальные точки присутствия и 16 точек для регионального кеша.
Также мы анонсировали публичное превью использования собственных SSL-сертификатов в связке с CDN.
Ссылки:
Анонс Azure Maps
Сервис Azure Location Based Services переименован в Azure Maps.
В рамках конференции мы объявили о следующих новых возможностях:
- Search Service. Сервис поиска позволяет нахожить объекты реального мира и их местоположение. Мы добавили поиск по геометрии (возможность найти объекты внутри заданных границ), поиск по соседству (возможность найти в окрестностях заданной локации) и поиск вдоль маршрута (возможность найти точки интереса вдоль указанного маршрута).
- Render Service. Сервис используется для визуализации карт, в том числе внутри Azure Map Control. В GA-версии мы добавили новый API для статичных изображений во встраиваемых картах.
- Time Zone Service. Сервис позволяет узнавать временные зоны и время в разных локациях. Мы добавили локализованные названия временных зон на 49 языках.
- Azure Map Control. Веб-контрол на JavaScript для встраивания карт в ваши приложения. В GA мы улучшили доступность элемента, сделав его удобным для большего числа людей. В частности, с ним можно работать, используя приложения для управления чтения экрана (narrator).
Ссылки:
Анонс Azure Confidential Computing [33]
Осенью прошлого года Марк Руссинович рассказывал о намерении Microsoft создать в Azure среду для конфиденциальных вычислений, позволяющую обрабатывать данные в аппаратно-защищенных «контейнерах».
Создание подобных решений требует сочетания многих факторов:
- Поддержка на уровне железа. Необходимо обеспечить изоляцию приложения во время вычисления и сделать такую функциональность доступной на уровне ОС. Подобная технология доступна в последнем поколении процессоров Intel Xeon с технологией Intel SGX. На этапе тестирования сервиса подобные процессоры доступны в East US регионе Azure. Вы можете получить к ним доступ из облака еще до того, как они будут широко доступны в собственных дата-центрах.
- Вычислительная модель. Мы расширяем вычислительную платформу Azure, чтобы сделать возможным размещать и управлять инстансами с включенными TEE (Trusted Execution Environments). Мы ввели новое семейство виртуальных машин (DC-серия), которые запускаются на последних версиях Intel Xeon (см. п.1). Таким образом, вы можете запускать приложения с поддержкой SGX в облаке.
- Разработка. Мы активно работаем с нашими партнерами, чтобы сделать API для Windows и Linux консистентными между разными реализациями TEE (программными и аппаратными), чтобы код конфиденциальных приложений был переносим. Мы также работаем над инструментами для разработки и тестирования таких приложений. Сегодня вы можете создавать приложения на C/C++, используя Intel SGX SDK.
- Аттестация. Выполняя код в TEE, необходимо убедиться в его достоверности. Мы работаем с производителями железа, чтобы совместно спроектировать и иметь возможность поддерживать аттестующие сервисы, упрощающие верификацию и с высокой доступностью.
- Сервисы и сценарии. Виртуальная машина — это низкоуровневый строительный блок, позволяющий новые защищенные бизнес-сценарии в облаке. Для нас важно также понять, какие готовые сервисы мы можем представлять. Сегодня мы уже работаем в трех направлениях: 1) защита конфиденциальности и целостности данных через SQL Server Always Encrypted, 2) создание доверенных распределенных сетей на базе нашего Confidential Consortium Blockchain Framework (COCO Framework), и 3) конфиденциальное комбинирование множества источников данных для поддержки сценариев создания алгоритмов машинного обучения между несколькими игроками.
- Исследования. Microsoft Research плотно работает с командой Azure и производителями железа, чтобы найти и предупредить возможные уязвимости TEE. Например, мы исследуем продвинутые техники для усложнения TEE-приложениям осуществления утечки информации наружу TEE, намеренно или ненамеренно.
Ссылки:
Обновления в инструментах для диалоговых интерфейсов [34-37]
В дополнение к упомянутым выше экспериментальным сервисам Cognitive Services Labs (в частности, Conversation Learner и Personality Chat), мы обновили существенно обновили существующие сервисы и инструменты:
- Bot Builder SDK (превью 4й версии). Обновленная версия нашего открытого SDK для создания ботов с фокусом на расширяемость и модульностью. В новой версии также облегчено создание направленных диалогов с предоставлению пользователям наборов выборов или действий. И вы, конечно, можете подключить LUIS для более естественных диалогов. Мы расширили поддержку до 4х языков программирования: C#, JavaScript, Python и Java.
Новая компонента SDK — Bot Builder Dispatch. При создании ботов разработчики часто используют комбинацию сервисов и моделей для повышения общего уровня «интеллекта». Bot Builder Dispatch позволяет в таких ситуациях оценить потенциальные конфликты интентов и перекрытия ответов между разными сервисами, используя машинное обучение для создания распределительной модели.Bot Builder Tools — инструменты для командной строки для создания и управления ботами, включая интеграцию с LUIS-моделями, базами знаний из QnAMaker и модулем Bot Builder Dispatch. Инструменты кросс-платформенные и открытые.
- Улучшенный эмулятор Bot Framework (превью 4й версии). Обновленный эмулятор включает улучшенную динамичную модель верстки, множественные настройки ботов, упрощенное управление компонентами ботов и возможность инспектирования ответов при взаимодействии с сервисами LUIS и QnA.
Также мы добавили функцию транскрипта, позволяющую отлаживать ботов на базе логов диалогов и проигрывать их в презентационном режиме. Bot Framework Emulator открыт и доступен на Github.
- Обновления в Azure Bot Service. Мы добавили в сервис возможность аутентификации пользователей на базе Azure AD и множества OAuth-провайдеров. Также мы привели сервис в соответствие с требованиями GDPR и добавили API, позволяющие вам управлять приватностью данных пользователей.
- Обновления в Language Understanding (LUIS). Возможности сервиса были расширены за счет интеграции с Text Analytics (см. выше в разделе про когнитивные сервисы), позволяя связывать фразы пользователей с известными сущностями. Мы также сделали возможным сквозной бандл «Speech to Intent», переводящий речь в текст и далее в интенты (намерения). Наконец, мы добавили еще две возможности для понимания интентов: Regex-сущности позволяют вытаскивать объекты из высказываний, используя регулярные выражения, а Pattern позволяют выводить намерения из небольшого числа примеров высказываний.
Ссылки:
Alexa и Кортана: дружба-жвачка [38]
В рамках конференции мы показали, как будет выглядеть совместная работа разных цифровых помощников на примере Alexa от Amazon и Cortana от Microsoft.
Ссылки:
Автор: Константин Кичинский