Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 22 ноября 2020 года; проверки требуют 19 правок.
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 22 ноября 2020 года; проверки требуют 19 правок.
Microsoft Azure (от фр. a`zure — синий, произносится Эжю) — облачная платформа компании Microsoft. Предоставляет возможность разработки, выполнения приложений и хранения данных на серверах, расположенных в распределённых дата-центрах.
Облако Azure было анонсировано в октябре 2008 года под кодовым названием «Project Red Dog»[1]. Релиз состоялся 1 февраля 2010 года под названием «Windows Azure». В 2014 году платформа была переименована в Microsoft Azure[2].
Microsoft Azure реализует облачные модели платформы как сервиса (PaaS) и инфраструктуры как сервиса (IaaS).
Возможно использование как сторонних, так и сервисов Microsoft в качестве модели ПО как сервиса (SaaS)[3]. Работоспособность платформы Microsoft Azure обеспечивает глобальная сеть распределенных дата-центров Microsoft.
Помимо базовых функций операционных систем, Microsoft Azure имеет и дополнительные: выделение ресурсов по требованию для масштабирования, автоматическую синхронную репликацию данных для повышения отказоустойчивости, обработку отказов инфраструктуры для обеспечения постоянной доступности и другое.
Модель предоставления инфраструктуры (IaaS) реализует возможность аренды таких ресурсов, как серверы, устройства хранения данных и сетевое оборудование. Управление всей инфраструктурой осуществляется поставщиком, потребитель управляет только операционной системой и установленными приложениями.
Практически все сервисы Microsoft Azure имеют интерфейс взаимодействия API, построенный на основе ограничений для распределённых систем REST, что позволяет разработчикам использовать облачные сервисы с любой операционной системы, устройства и платформы.
Кроме того, пользователи могут создавать и управлять собственными сервисами, пользуясь визуальным веб-интерфейсом портала Azure. Портал позволяет настраивать сервисы, редактировать права доступа, отслеживать состояние ресурсов и управлять биллингом.
Для поддерживаемых языков программирования Microsoft предоставляет наборы библиотек. На данный момент поддерживаются следующие языки программирования и программные платформы:
Облачная платформа Azure поддерживает платформу разработки .NET, также созданную и поддерживаемую компанией Microsoft. Эти технологии можно использовать совместно для создания и размещения веб-приложений, создания бессерверных функций Azure, подключения и создания запросов к базам данных SQL, управления ресурсами API SQL в Azure Cosmos DB, развертывания приложений в Service Fabric[6] и др.
Язык программирования Java интегрирован с Azure. Он подходит для создания и развертывания веб-приложений, работы с базами данных, взаимодействия с сервисной шиной, интернетом вещей, когнитивными сервисами[7] и др. Для настройки среды разработки и использования Azure с Java разработчик должен иметь учетную запись в облаке, Azure Cloud Shell или Azure CLI 2.0, Java 8 и Maven 3.
Язык JavaScript и его серверный фреймворкNode.js интегрированы с Azure. В рамках совместной работы платформ доступны разработка и размещение приложений, решения для хранения данных, поддержание безопасности инфраструктуры, мониторинг и ведение журнала, обмен сообщениями, интернет вещей, когнитивные сервисы, создание парадигмы DevOps[8] и др.
Язык программирования Python поддерживается облаком Azure. В рамках платформы его можно использовать для создания и развертывания приложений, работы с данными с использованием Cosmos DB, Redis, SQL Azure, PostgreSQL и MySQL, создания алгоритмов искусственного интеллекта и машинного обучения, обеспечения безопасности инфраструктуры[9] и др.
Язык PHP на данный момент поддерживает наименьший функционал в облаке Azure по сравнению с другими интегрированными языками. Разработчики могут создать и развернуть веб-приложение PHP в Azure[10].
Среди других возможностей, с помощью языка программирования Go можно развертывать виртуальные машины, передавать объекты в хранилище BLOB, подключаться к базам данных SQL Azure, PostgreSQL и MySQL[11].
Сервис Virtual Machines позволяет пользователям запускать виртуальные машины общего назначения под управлением Microsoft Windows, Linux, а также преднастроенные образы популярных сервисных пакетов.
Служба Приложений позволяет разработчикам публиковать веб-сайты и управлять ими.
Сервис хостинга веб-сайтов позволяет разработчикам создавать сайты с использованием .NET, PHP, Node.js или Python и разворачивать их с использованием FTP, Git, Mercurial, Team Foundation Server или загружать через пользовательский портал.
WebJobs или, другими словами, приложения, которые могут быть развернуты в среде App Service для реализации фоновой обработки. Эту обработку можно запускать по расписанию, по требованию или выполнять непрерывно. Службы Blob, Table и Queue могут использоваться для связи между WebApps и WebJobs и для отслеживания состояния.
Сервисы хранения (Storage Services) предоставляют REST и SDK API для хранения данных в облаке и доступа к ним.
Table Service позволяет программам хранить структурированный текст в секционированных коллекциях сущностей, доступ к которым осуществляется по ключу секционирования и первичному ключу. Это нереляционная база данных NoSQL.
Blob Service позволяет программам хранить неструктурированный текст и двоичные данные в виде BLOB-объектов, к которым можно получить доступ по HTTP(S). Сервис BLOB-объектов также предоставляет механизмы обеспечения безопасности для контроля доступа к данным.
Служба очередей (Queue Service) позволяет программам обмениваться сообщениями асинхронно с использованием очередей.
Файловая служба (File Service) позволяет хранить и получать доступ к данным в облаке с помощью API REST или протокола SMB.
Виртуальная сеть — это стандартный строительный блок для частной сети в Azure. Виртуальная сеть позволяет ресурсам Azure различных типов (например, виртуальным машинам Azure) обмениваться данными друг с другом через локальные сети и через Интернет.
Load Balancer позволяет масштабировать приложения и обеспечивать доступность служб. Также поддерживает входящие и исходящие сценарии, обеспечивает низкую задержку и высокую пропускную способность.
Шлюз приложений — это подсистема балансировки нагрузки веб-трафика, предназначенная для управления трафиком веб-приложений.
VPN-шлюз — это тип шлюза виртуальной сети, используемый для отправки зашифрованного трафика между виртуальной сетью Azure и локальным расположением через общедоступный Интернет.
Azure DNS — служба размещения доменов DNS, осуществляющей разрешение имен.
Сервис Mobile Engagement дает возможность собирать данные поведения пользователей в реальном времени. Он также предоставляет возможность отправки push-уведомлений на мобильные устройства.
Сервис HockeyApp может использоваться для разработки, распространения и тестирования мобильных приложений.
StorSimple управляет хранилищем и распределяет нагрузку между локальными устройствами и облачным хранилищем.
SQL Database, ранее известная как SQL Azure Database, предназначена для создания, масштабирования и расширения приложений в облаке с использованием технологии Microsoft SQL Server. Она также интегрируется с Active Directory, Microsoft System Center и Hadoop.
Azure SQL Data Warehouse — это облачное корпоративное хранилище данных (EDW), использующее массовую параллельную обработку (MPP) для быстрого выполнения сложных запросов с петабайтами данных.
Azure Data Factory — это служба интеграции данных, которая позволяет создавать рабочие процессы в облаке для организации и автоматизации перемещения и преобразования данных.
Azure Data Lake — это масштабируемая служба хранения и анализа данных для задач, связанных с большими данными, которые требуют от разработчиков массового выполнения параллельных запросов.
Azure HDInsight — это служба, связанная с большими данными, которая развертывает Hortonworks Hadoop в Microsoft Azure и поддерживает создание кластеров Hadoop с использованием Linux с Ubuntu.
Azure Stream Analytics — это серверный масштабируемый движок обработки событий, который позволяет пользователям разрабатывать и запускать аналитику в реальном времени для нескольких потоков данных из таких источников, как устройства, датчики, веб-сайты, социальные сети и другие приложения.
Сервисная шина Microsoft Azure позволяет приложениям, работающим в облаке или на внешних устройствах, обмениваться данными с Azure. Это помогает создавать масштабируемые приложения в сервис-ориентированной архитектуре (SOA). Сервисная шина Azure поддерживает четыре различных типа коммуникационных механизмов:
Центры событий (Event Hubs), которые обеспечивают массовую передачу событий и телеметрии в облако. Например, центр событий может использоваться для отслеживания данных с мобильных телефонов, таких как данные GPS, в режиме реального времени.
Очереди (Queues), которые добавляют возможность однонаправленных коммуникаций. Приложение-отправитель будет направлять сообщение в очередь сервисной шины, а получатель будет читать его из очереди. Хотя в очереди может быть несколько считывателей, только один обрабатывает одно сообщение.
Разделы (Topics), которые обеспечивают однонаправленную связь с использованием шаблона подписки. Это похоже на очередь, однако каждый подписчик получит копию сообщения, отправленного в раздел. При желании подписчик может отфильтровывать сообщения на основе определенных критериев.
Ретрансляторы (Relays), которые обеспечивают двунаправленную связь. В отличие от очередей и разделов, ретранслятор не хранит идущие сообщения в своей собственной памяти. Вместо этого он просто передает их в целевое приложение.
Служба кодирования — сервис, который предоставляет несколько видов кодировщиков, служащих для кодирования мультимедиа в облаке.
Индексатор видео — облачное приложение, которое позволяет извлекать аналитические сведения из видеоматериалов с помощью описанных видео- и аудиомоделей.
Потоковая трансляция — продукт, который позволяет проводить прямые трансляции в прямом эфире и по запросу.
Система защиты содержимого позволяет защитить данные мультимедиа, покидающие компьютер, на этапах их хранения, обработки и доставки, а также доставлять в режиме реального времени и по требованию содержимое с динамическим шифрованием.
Сеть кэширующих серверов (CDN) — глобальная сеть доставки содержимого Azure (CDN) для аудио, видео, приложений, изображений и других статических файлов. Его можно использовать для кэширования статических ресурсов веб-сайтов, географически расположенных ближе к пользователям, для повышения производительности. Сеть может управляться HTTP-API на основе REST.
Сервис Microsoft Azure Machine Learning (Azure ML) является частью Cortana Intelligence Suite и служит для предиктивной аналитики и взаимодействия с данными с использованием естественного языка и речи. Сервис реализован с использованием Кортаны.
Cognitive Services (ранее Project Oxford) — это набор API, SDK и сервисов, доступных для разработчиков, позволяющих создавать приложения с использованием интеллектуальных алгоритмов и машинного обучения.
Azure IoT Hub позволяет подключать, отслеживать и управлять ресурсами IoT.
Azure IoT Edge — это управляемый сервис, построенный на IoT Hub, который позволяет осуществлять облачный анализ, развернутый локально на граничных устройствах IoT.
Azure IoT Central — это управляемое приложение SaaS, которое упрощает подключение, мониторинг и управление ресурсами IoT.
Azure Sphere — это сервис для создания связанных с микроконтроллером устройств (MCU). Azure Sphere обеспечивает сквозную безопасность IoT с помощью перекрестных MCU, защищенной ОС и облачной службы безопасности.
Azure Digital Twins — это служба IoT, которая помогает строить модели физических сред, создавать графики пространственного интеллекта для моделирования отношений и взаимодействий между людьми, местами и устройствами.
Azure Time Series Insights — это управляемое комплексное решение, позволяющее получать, хранить и запрашивать данные временных рядов IoT, а также визуализировать данные для их анализа.
Azure Maps — геопространственные API для добавления карт, пространственной аналитики и мобильных решений для приложений.
Azure IoT Solutions Accelerators (Preview) — сервис, в котором предлагаются распространенные наборы облачных сервисов, такие как удаленный мониторинг, промышленный IoT (IIoT), предиктивное профилактическое обслуживание.
С помощью Azure Blockchain Workbench Microsoft предоставляет инфраструктуру для настройки сети в нескольких топологиях с использованием различных механизмов консенсуса. Microsoft обеспечивает интеграцию этих платформ блокчейна с другими службами Microsoft для оптимизации разработки распределенных приложений. Поддерживаются разные типы блокчейна общего назначения, включая Ethereum и Hyperledger Fabric, а также типы блокчейна специального назначения, такие как Corda.
Функции Azure используются в архитектурах бессерверных вычислений, где подписчики могут выполнять код в качестве функции как услуги (FaaS) без управления ресурсами основного сервера.
Application Insights — это расширяемая служба управления производительностью приложений (APM) для веб-разработчиков на нескольких платформах.
Azure DevOps предоставляет сервисы для разработчиков для поддержки групп по планированию работы, совместной работе над разработкой кода, а также по созданию и развертыванию приложений.
Azure SDK — набор средств для разработчиков, предоставляемые Azure.
Облачные сервисы Microsoft Azure предоставляются в соответствии с моделью «оплата по мере использования»: стоимость облачного сервиса определяется потребленными ресурсами[13]. Для выполнения приложения, как правило, необходимы три типа ресурсов — для вычислений, для хранения данных и для обмена данными. С июня 2013 года потребление вычислительных ресурсов Microsoft Azure (эффективное время работы виртуальных машин, облачных сервисов, мобильных сервисов или веб-сайтов) рассчитывается и оплачивается поминутно, а не за каждый час, как это было ранее. Также с июня 2013 года не взимается плата за остановленную виртуальную машину.
На мероприятии Cloud Summit в Москве в декабре 2013 управляющим партнёром консалтингового агентства «Емельянников, Попова и партнёры» Михаилом Емельянниковым был сделан доклад по безопасности и конфиденциальности данных, размещаемых на Microsoft Azure, а также подробно разобрано российское законодательство и конкретные статьи, способные повлиять на процесс использования Microsoft Azure[14].
Azure соответствует следующим стандартам: GDPR, ISO 27001, ISO 27017, ISO 27018, ISO 20000-1, ISO 22301, ISO 9001 и другим[15].
Над безопасностью Azure работает 3500 специалистов. Согласно статистике[16], использование технологии Microsoft Intelligent Security Graph в облаке Azure ежемесячно позволяет:
блокировать 5 миллиардов угроз
анализировать 470 миллиардов электронных писем
регистрировать 630 миллиардов аутентификаций
обновлять 1,2 миллиарда устройств
сканировать более 18 миллиардов веб-страниц
Данные на платформе Azure шифруются при передаче, за исключением данных, которые перемещаются в контролируемых пользователем сетях (таких как Azure Virtual Networks и ExpressRoute). Пользователь несет ответственность за шифрование данных в сети, которую он контролирует[17].
С точки зрения физической безопасности дата-центров применяется многоуровневый подход[18]. Авторизация осуществляется на уровне периметра объекта, внешнего периметра здания, внутри здания и на этажах дата-центра, что позволяет исключить несанкционированный физический доступ к облачным данным Azure.
Публичная информация о международных (в том числе российских) проектах, которые размещаются на Microsoft Azure, доступна на сайте платформы[19].
Одним из проектов стало использование платформы Microsoft Azure для Олимпийских Игр в Сочи 2014. Она обеспечила доступность необходимых вычислительных ресурсов во время пиковых нагрузок, объём которых было невозможно предсказать заранее[20].
Ещё одним проектом является перенос логики расчетов онлайн-игры Titanfall 2 на облачные ресурсы. В Titanfall искусственный интеллект и сетевые функции полностью реализованы на базе облака Azure. По данным Microsoft при запуске игры был использован пул из 100000 виртуальных машин[21].
Одной из российских компаний, которые используют Azure, является «Додо Пицца». Их информационная система Dodo IS написана на .NET и развернута через Azure. Также компания использует Kubernetes, Redis и MySQL, которые совместимы с облаком[22].
Еще одна российская организация, использующая Azure, — Финансовый университет при Правительстве РФ. Установленные в аудиториях камеры фиксируют происходящее с периодичностью в несколько минут и передают изображения в облако, где с помощью модели машинного обучения определяется степень сосредоточенности и интерес студентов к занятиям[23].