Открыть сервисСервис

Azure Virtual Machines

Azure Virtual Machines — это сервис облачной платформы Microsoft Azure, предоставляющий пользователям возможность создавать и управлять виртуальными машинами (ВМ) в инфраструктуре Microsoft. Виртуальные машины Azure относятся к категории «Инфраструктура как услуга» (IaaS), что позволяет арендовать вычислительные ресурсы (процессор, память, дисковое пространство, сетевые интерфейсы) без необходимости приобретения и обслуживания физического оборудования.

История и развитие

Сервис Azure Virtual Machines был запущен в составе платформы Microsoft Azure (изначальноWindows Azure) в 2010 году. Первоначально он поддерживал только образы операционных систем семейства Windows Server. В 2012 году была добавлена поддержка Linux, что значительно расширило аудиторию сервиса. С тех пор сервис постоянно эволюционировал: появились масштабируемые наборы виртуальных машин (Virtual Machine Scale Sets), резервные копии, интеграция с Azure Kubernetes Service и другими сервисами платформы. В 2017 году Microsoft анонсировала поддержку виртуальных машин с ускорителями (GPU) для задач машинного обучения и высокопроизводительных вычислений.

Архитектура и компоненты

Виртуальная машина Azure представляет собой эмуляцию физического компьютера, работающую на гипервизоре Microsoft (на базе Hyper-V). Каждая ВМ состоит из нескольких ключевых компонентов:

  • Вычислительные ресурсы (vCPU и RAM): Определяются выбранным размером ВМ (SKU). Доступны различные семейства размеров: общего назначения, оптимизированные для вычислений, для работы с памятью, для хранения данных и с графическими ускорителями.
  • Диски: Для хранения операционной системы и данных. Используются управляемые диски (Managed Disks) — блочное хранилище, которое может быть SSD (Premium, Standard) или HDD (Standard). Диски могут быть временными (временное хранилище на узле) или постоянными.
  • Сетевой интерфейс (NIC): Каждая ВМ подключается к виртуальной сети Azure (VNet) через один или несколько сетевых адаптеров. Для доступа из интернета используется публичный IP-адрес или Azure Load Balancer.
  • Образ операционной системы: Предварительно настроенный образ (Windows Server, Ubuntu, CentOS, Debian, RHEL, SUSE, а также образы из Azure Marketplace). Можно использовать собственные образы (через Azure Compute Gallery).
  • Группа безопасности сети (NSG): Набор правил, фильтрующих входящий и исходящий трафик к ВМ.

Классификация размеров (SKU)

Azure предлагает более 500 различных размеров виртуальных машин, сгруппированных по семействам:

  • Общего назначения (B, D, A): Сбалансированное соотношение vCPU и памяти. Подходят для веб-серверов, небольших баз данных, сред разработки и тестирования.
  • Оптимизированные для вычислений (F, FX): Высокая частота процессора, больше vCPU на единицу памяти. Используются для пакетной обработки, аналитики, игровых серверов.
  • Оптимизированные для памяти (E, M, Mv2): Большой объём оперативной памяти (до 12 ТБ в серии Mv2). Предназначены для крупных баз данных (SAP HANA, SQL Server), кэширования (Redis).
  • Оптимизированные для хранения (L, Lv2): Высокая пропускная способность дискового ввода-вывода и низкая задержка. Используются для баз данных NoSQL, аналитики больших данных (Hadoop, Spark).
  • С графическими ускорителями (NC, ND, NV): Оснащены GPU (NVIDIA Tesla, AMD Radeon Instinct). Применяются для машинного обучения, рендеринга, виртуализации графики.
  • Оптимизированные для высокопроизводительных вычислений (H, HB, HC): Высокая производительность на ядро, поддержка InfiniBand. Для научных расчётов, моделирования.

Способы создания и управления

Создание виртуальной машины возможно несколькими способами:

  • Портал Azure (Azure Portal): Веб-интерфейс с пошаговым мастером. Подходит для разовых задач и обучения.
  • Azure CLI: Кроссплатформенный интерфейс командной строки. Используется для автоматизации и скриптов.
  • Azure PowerShell: Модуль для Windows PowerShell. Позволяет управлять ВМ через командлеты.
  • Azure Resource Manager (ARM) шаблоны: JSON-файлы, описывающие всю инфраструктуру (ВМ, сети, диски). Обеспечивают идемпотентное развёртывание.
  • Terraform, Ansible, Chef, Puppet: Инструменты управления конфигурациями и инфраструктурой как кодом (IaC).

Масштабирование и доступность

Azure предоставляет механизмы для обеспечения отказоустойчивости и масштабирования:

  • Virtual Machine Scale Sets (VMSS): Позволяет автоматически увеличивать или уменьшать количество однотипных ВМ в зависимости от нагрузки (CPU, память, пользовательские метрики). Используется для веб-приложений, микросервисов.
  • Зоны доступности (Availability Zones): Физически изолированные центры обработки данных внутри одного региона Azure. Размещение ВМ в разных зонах защищает от отказа целого дата-центра.
  • Наборы доступности (Availability Sets): Логическая группировка ВМ, которая гарантирует, что они не будут размещены на одном физическом сервере (узел) или в одной стойке (домен сбоя). Обеспечивает защиту от планового и внепланового обслуживания.
  • Azure Site Recovery: Сервис аварийного восстановления, позволяющий реплицировать ВМ в другой регион.

Ценообразование

Стоимость виртуальной машины складывается из нескольких компонентов:

  • Вычислительные ресурсы (vCPU + RAM): Оплачивается за время работы ВМ (почасовая или посекундная тарификация). Доступны модели:
  • Pay-as-you-go (оплата по мере использования): Максимальная гибкость, но высокая цена.
  • Reserved Instances (зарезервированные экземпляры): Предоплата на 1 или 3 года — скидка до 72% по сравнению с PAYG.
  • Spot Instances (прерываемые экземпляры): Использование свободных мощностей Azure со скидкой до 90%, но ВМ может быть остановлена в любой момент при нехватке ресурсов.
  • Диски (Managed Disks): Оплата за объём (ГБ/месяц) и количество операций ввода-вывода (IOPS).
  • Сетевой трафик: Исходящий трафик (из Azure в интернет) тарифицируется по объёму. Входящий трафик (из интернета в Azure) обычно бесплатен.
  • Лицензии: Для Windows Server в стоимость ВМ включена лицензия на ОС. Для Linux лицензия не взимается (кроме платных образов из Marketplace).

Применение

Azure Virtual Machines используется в широком спектре сценариев:

  • Перенос (lift-and-shift): Перенос существующих приложений из локальных дата-центров в облако без изменения кода.
  • Разработка и тестирование: Быстрое создание сред для разработчиков, тестовых стендов.
  • Веб-приложения и API: Размещение веб-серверов (IIS, Nginx, Apache), серверов приложений (Tomcat, JBoss).
  • Базы данных: Запуск SQL Server, Oracle, MySQL, PostgreSQL, MongoDB на выделенных ВМ.
  • Высокопроизводительные вычисления (HPC): Научные расчёты, симуляции, рендеринг.
  • Машинное обучение: Обучение моделей на GPU-ускорителях, инференс.
  • Виртуальные рабочие столы (VDI): Создание удалённых рабочих столов для сотрудников (Windows Virtual Desktop).

Ограничения и критика

Несмотря на широкие возможности, сервис имеет ряд ограничений:

  • Зависимость от сети: Производительность ВМ сильно зависит от задержки и пропускной способности интернет-канала пользователя.
  • Сложность управления: Для крупных инфраструктур требуется глубокое знание Azure Networking, Identity, Storage.
  • Стоимость при неправильной конфигурации: Легко потратить больше, чем необходимо, если не использовать резервирование, Spot-экземпляры или автоматическое масштабирование.
  • Отсутствие полного контроля над гипервизором: Пользователь не может управлять физическим сервером, что ограничивает возможности для некоторых низкоуровневых задач.
  • Вендор-лок: Перенос ВМ из Azure в другое облако или локальную инфраструктуру может быть трудоёмким (требуется конвертация образов, настройка сетей).

Интересные факты

  • Крупнейшие ВМ в Azure (серия Mv2) могут иметь до 416 vCPU и 12 ТБ оперативной памяти.
  • Azure поддерживает запуск ВМ на процессорах Intel Xeon, AMD EPYC и AMD Radeon Instinct GPU.
  • Сервис Azure Virtual Machines является одним из самых старых и зрелых в портфолио Microsoft Azure, наряду с Azure Blob Storage и Azure SQL Database.
  • Для некоторых размеров ВМ (например, серии B) доступна модель кредитования (Bursting), позволяющая кратковременно потреблять больше ресурсов, чем выделено, за счёт накопленных кредитов.

Источники

  • Документация Microsoft Azure: «Виртуальные машины Azure»
  • Microsoft Learn: «Обзор виртуальных машин Azure»
  • Azure Pricing Calculator
  • Azure Architecture Center: «Выбор размера виртуальной машины»
  • Официальный блог Microsoft Azure (раздел Compute)
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru