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) реализует возможность аренды таких ресурсов, как серверы, устройства хранения данных и сетевое оборудование. Управление всей инфраструктурой осуществляется поставщиком, потребитель управляет только операционной системой и установленными приложениями.
Для виртуальных машин доступны образы следующих операционных систем: Windows Server, CoreOS, Ubuntu Server, Red Hat, Clear Linux OS, Debian, SUSE Linux Enterprise Server, Oracle Linux[4][5].
Практически все сервисы Microsoft Azure имеют интерфейс взаимодействия API, построенный на основе ограничений для распределённых систем REST, что позволяет разработчикам использовать облачные сервисы с любой операционной системы, устройства и платформы.
Кроме того, пользователи могут создавать и управлять собственными сервисами, пользуясь визуальным веб-интерфейсом портала Azure. Портал позволяет настраивать сервисы, редактировать права доступа, отслеживать состояние ресурсов и управлять биллингом.
Поддерживаемые языки и платформы разработки
Для поддерживаемых языков программирования Microsoft предоставляет наборы библиотек. На данный момент поддерживаются следующие языки программирования и программные платформы:
.NET
Облачная платформа Azure поддерживает платформу разработки .NET, также созданную и поддерживаемую компанией Microsoft. Эти технологии можно использовать совместно для создания и размещения веб-приложений, создания бессерверных функций Azure, подключения и создания запросов к базам данных SQL, управления ресурсами API SQL в Azure Cosmos DB, развертывания приложений в Service Fabric[6] и др.
Java
Язык программирования Java интегрирован с Azure. Он подходит для создания и развертывания веб-приложений, работы с базами данных, взаимодействия с сервисной шиной, интернетом вещей, когнитивными сервисами[7] и др. Для настройки среды разработки и использования Azure с Java разработчик должен иметь учетную запись в облаке, Azure Cloud Shell или Azure CLI 2.0, Java 8 и Maven 3.
Node.js (JavaScript)
Язык JavaScript и его серверный фреймворк Node.js интегрированы с Azure. В рамках совместной работы платформ доступны разработка и размещение приложений, решения для хранения данных, поддержание безопасности инфраструктуры, мониторинг и ведение журнала, обмен сообщениями, интернет вещей, когнитивные сервисы, создание парадигмы DevOps[8] и др.
Python
Язык программирования Python поддерживается облаком Azure. В рамках платформы его можно использовать для создания и развертывания приложений, работы с данными с использованием Cosmos DB, Redis, SQL Azure, PostgreSQL и MySQL, создания алгоритмов искусственного интеллекта и машинного обучения, обеспечения безопасности инфраструктуры[9] и др.
PHP
Язык PHP на данный момент поддерживает наименьший функционал в облаке Azure по сравнению с другими интегрированными языками. Разработчики могут создать и развернуть веб-приложение PHP в Azure[10].
Go
Среди других возможностей, с помощью языка программирования Go можно развертывать виртуальные машины, передавать объекты в хранилище BLOB, подключаться к базам данных SQL Azure, PostgreSQL и MySQL[11].
Сервисы
В Microsoft Azure представлено более 600 сервисов[12], некоторые из которых перечислены ниже.
Инфраструктурные сервисы
Вычисления
- Сервис 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 может использоваться для разработки, распространения и тестирования мобильных приложений.
Управление данными
- Сервис поиска Azure (Azure Search) обеспечивает текстовый поиск и подмножество структурированных фильтров OData с использованием API REST или SDK.
- Cosmos DB — это служба базы данных NoSQL, которая реализует подмножество оператора SQL SELECT в документах JSON.
- Redis Cache — это управляемая реализация Redis.
- 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.
- Проигрыватель мультимедиа Azure.
Машинное обучение
- Сервис Microsoft Azure Machine Learning (Azure ML) является частью Cortana Intelligence Suite и служит для предиктивной аналитики и взаимодействия с данными с использованием естественного языка и речи. Сервис реализован с использованием Кортаны.
- Cognitive Services (ранее Project Oxford) — это набор API, SDK и сервисов, доступных для разработчиков, позволяющих создавать приложения с использованием интеллектуальных алгоритмов и машинного обучения.
IoT
- 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
С помощью Azure Blockchain Workbench Microsoft предоставляет инфраструктуру для настройки сети в нескольких топологиях с использованием различных механизмов консенсуса. Microsoft обеспечивает интеграцию этих платформ блокчейна с другими службами Microsoft для оптимизации разработки распределенных приложений. Поддерживаются разные типы блокчейна общего назначения, включая Ethereum и Hyperledger Fabric, а также типы блокчейна специального назначения, такие как Corda.
Функции Azure
Функции 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
Публичная информация о международных (в том числе российских) проектах, которые размещаются на 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].
Основные этапы развития
- Октябрь 2008 — Анонсирована Windows Azure Platform[24]
- Март 2009 — Анонсирована SQL Azure Relational Database[25]
- 1 февраля 2010 — Windows Azure Platform стала доступна для коммерческого использования[26]
- Июнь 2010 — Обновление Windows Azure, поддержка .NET Framework 4, OS Versioning, CDN, обновление SQL Azure[27]
- Октябрь 2010 — Улучшения платформы, выход Windows Azure Connect, улучшены среды для разработчиков и IT-профессионалов[28]
- Декабрь 2011 — Выпущены Traffic manager, SQL Azure reporting, HPC scheduler[29]
- Июнь 2012 — Представлены сервисы Websites (Веб-сайты), Виртуальные машины для Windows и Linux, Python SDK, показан новый портал[30]
- Апрель 2014 — Windows Azure переименован в Microsoft Azure, ARM Portal представлен на Build 2014[31]
- Июль, 2014 — Вышла публичная превью-версия Azure Machine Learning[32]
- Ноябрь, 2014 — Произошли технические неполадки на платформе, затронувшие Azure Storage, а также другие сервисы, включая виртуальные машины[33]
- Сентябрь, 2015 — Представлен Azure Cloud Switch, кросс-платформенный дистрибутив Linux[34]
- Декабрь, 2015 — Вышел Azure ARM Portal (под кодовым именем «Ибица»)[35]
- Март, 2016 — Azure Service Fabric стал общедоступным[36]
- Сентябрь, 2017 — Появились новый логотип и Манифест Microsoft Azure[37]
- 16 июля, 2018 — Вышла публичная превью-версия Azure Service Fabric Mesh[38]
- 24 сентября, 2018 — Microsoft Azure IoT Central стал общедоступным[39]
- 10 октября, 2018 — Microsoft присоединяется к Linux-ориентированной группе Open Invention Network[40]
- 17 апреля, 2019 — Доступен Azure Front Door Service[41]
Датацентры
На июль 2019 года облако Microsoft Azure доступно в 54 регионах и 140 странах. ЦОДы располагаются в 15 странах[42]:
Америка
|
Европа
|
Азиатско-Тихоокеанский
регион
|
Ближний Восток
и Африка
|
|
- Франция
- Великобритания
- Германия[43]
- Швейцария
- Норвегия
|
- Австралия
- Китай
- Индия
- Япония
- Южная Корея
|
|
Конкуренты
Примечания
Ссылки
Ссылки на внешние ресурсы |
---|
| |
---|
В библиографических каталогах | |
---|