Что такое облако и Azure

Разбираемся, что на самом деле продаёт облако, чем IaaS отличается от PaaS и SaaS, где место Azure рядом с AWS и GCP и почему всё в облаке разложено по регионам и зонам.

Облако — это чужие серверы, которые вы берёте в аренду на минуты, управляете ими через API и платите по факту потребления, а не покупкой железа.

Звучит цинично, но именно из этой формулировки растут все остальные свойства облака: и скорость, и эластичность, и внезапные счета. Давайте разберём по-честному, что вы получаете, а что остаётся вашей заботой.

Зачем это нужно на практике

Представьте классический сценарий «свой сервер». Вам нужен сайт интернет-магазина. Вы считаете нагрузку, закупаете сервер, ждёте поставки три недели, ставите его в стойку, договариваетесь с провайдером о канале, настраиваете ИБП, поднимаете RAID, ставите ОС, обновляете её, настраиваете бэкапы. Через полгода в четыре утра умирает диск — и это тоже ваша проблема. А ещё через год приходит «чёрная пятница», нагрузка вырастает в десять раз, и второй сервер вы физически не успеете купить.

Проблема даже не в поломках. Проблема в том, что железо вы покупаете под пик, а живёте на средней нагрузке. Всё остальное время дорогая машина греет воздух. Экономисты называют это разницей между CapEx (капитальные затраты — купили железо один раз и амортизируете годами) и OpEx (операционные затраты — платите ежемесячно за фактическое потребление). Облако переводит инфраструктуру из первого во второе.

В облаке та же история выглядит так: вы выполняете одну команду, через две минуты у вас есть виртуальная машина, а в «чёрную пятницу» вы поднимаете ещё девять таких же — и гасите их в понедельник. Платите ровно за те часы, что они работали.

IaaS, PaaS, SaaS — три уровня «сколько за вас делают»

Эти три аббревиатуры пугают новичков, хотя различие между ними — чисто про границу ответственности. Удобная аналогия — жильё. IaaS — вы снимаете пустую квартиру: стены, вода и электричество есть, мебель и ремонт ваши. PaaS — квартира с мебелью и уборщицей: заезжаете с чемоданом. SaaS — отель: вы просто гость и вообще ничего не настраиваете.

МодельЧто даёт AzureЧто остаётся вамПримеры сервисов Azure
IaaS
Infrastructure as a Service
Железо, гипервизор, сеть, дискиОС, обновления, веб-сервер, среда выполнения, код, данныеAzure Virtual Machines, Managed Disks, Virtual Network
PaaS
Platform as a Service
Всё вышеперечисленное плюс ОС, патчи, среда выполнения, масштабированиеВаш код и ваши данныеAzure App Service, Azure Functions, Azure SQL Database
SaaS
Software as a Service
Готовое приложение целикомТолько ваши данные и права доступаMicrosoft 365, Dynamics 365

Это называется моделью разделяемой ответственности (shared responsibility model). Обратите внимание на правый столбец: ваши данные, ваши учётные записи и раздача прав — это ваша зона ответственности всегда, в любой модели. Облако не защитит вас от того, что вы выложили ключ доступа в публичный репозиторий.

Практическое правило: берите самый высокий уровень, который решает вашу задачу. Если приложение — обычный веб-сервис на .NET или Python, ему почти наверняка хватит App Service (PaaS), и вы избавите себя от патчей ОС. Виртуальная машина нужна тогда, когда вам действительно нужен контроль над системой: специфичное ПО, старый софт, свои драйверы, лицензионные ограничения.

Чем облако отличается от своего сервера

  • Скорость. Виртуальная машина создаётся за минуты, а не за недели закупки.
  • Эластичность. Ресурсы можно не только добавить, но и — что важнее для кошелька — убрать.
  • Оплата по факту. Тарификация обычно посекундная или почасовая.
  • Готовые кирпичи. Управляемая база, очередь, балансировщик, CDN — включаются галочкой, а не неделей настройки.
  • Глобальность. Развернуть копию сервиса в другой части света — вопрос выбора региона в команде.

Но у медали есть вторая сторона, и о ней молчат маркетинговые буклеты. Счётчик крутится, пока ресурс существует, а не пока вы им пользуетесь. Забытая тестовая виртуалка и брошенный диск исправно тарифицируются, даже если вы про них не помните. При стабильной круглосуточной нагрузке на протяжении нескольких лет собственное железо всё ещё может оказаться дешевле — облако выигрывает там, где нагрузка неровная, а требования меняются.

Место Azure среди AWS и GCP

Крупных публичных облаков-гипермасштабировщиков сегодня три: AWS (Amazon), Azure (Microsoft) и GCP (Google Cloud). Они устроены концептуально одинаково: вычисления, хранилище, сеть, управляемые базы, serverless, Kubernetes.

Azure чаще выбирают там, где уже живёт экосистема Microsoft: Windows Server, Active Directory, Office/Microsoft 365, .NET, SQL Server. Корпоративные лицензионные соглашения и гибридные сценарии (когда часть инфраструктуры остаётся на своей площадке) — исторически сильная сторона Azure. AWS — самый старый и самый широкий по каталогу сервисов. GCP традиционно силён в данных, аналитике и Kubernetes.

Хорошая новость: понятия переносятся между облаками почти один в один.

AzureAWSGCP
Virtual MachinesEC2Compute Engine
Blob StorageS3Cloud Storage
Azure FunctionsLambdaCloud Functions
AKSEKSGKE
Microsoft Entra ID (бывший Azure AD)IAMCloud IAM

Выучив Azure, вы не окажетесь в вакууме: 80% знаний — это общая модель облака, и она переносима.

Регионы и зоны доступности

Регион — это географическая площадка Azure, набор дата-центров: westeurope (Нидерланды), northeurope (Ирландия), eastus, southeastasia и десятки других. Регион вы выбираете при создании почти каждого ресурса, и от него зависят три вещи:

  • Задержка. Свет по оптике быстрее не станет: чем дальше сервер от пользователя, тем выше ping.
  • Право и суверенитет данных. Часто данные обязаны физически лежать в конкретной стране.
  • Цена. Да, одна и та же виртуальная машина в разных регионах стоит по-разному, разница легко достигает десятков процентов.

Зона доступности (Availability Zone) — это физически отдельная площадка внутри одного региона: своё питание, охлаждение и сеть. В поддерживающих зоны регионах их обычно три. Идея простая: если вы разместили две реплики приложения в зонах 1 и 2, то авария в одном дата-центре не роняет сервис целиком. Именно поэтому SLA у одиночной виртуальной машины и у пары машин, разнесённых по зонам, отличается: одна машина — порядка 99,9% доступности, две и более в разных зонах — порядка 99,99%.

Есть ещё парные регионы (region pairs): Azure заранее связывает регионы в пары внутри одной географии (например, northeurope и westeurope), и часть сервисов умеет автоматически реплицировать данные в парный регион на случай катастрофы масштаба целого региона.

Geography (Европа)
 └── Region: westeurope
      ├── Availability Zone 1   ← своё питание, охлаждение, сеть
      ├── Availability Zone 2
      └── Availability Zone 3
 └── Region: northeurope        ← парный регион для аварийного восстановления

Как это работает

Под всем Azure лежит один общий слой управления — Azure Resource Manager (ARM). Что бы вы ни делали: кликали в портале, писали команды az в терминале или применяли шаблон Bicep из CI — в итоге это превращается в HTTP-запросы к REST API ARM. Портал не имеет никаких «секретных» возможностей: он такой же клиент, как и вы.

Каждый объект в Azure — ресурс, и у него есть глобально уникальный идентификатор, по которому видно всю иерархию:

/subscriptions/00000000-1111-2222-3333-444444444444
  /resourceGroups/rg-shop-dev-weu
  /providers/Microsoft.Compute/virtualMachines/vm-web-dev-weu-001

Читается так: подписка (кто платит) → группа ресурсов (папка жизненного цикла) → ресурс-провайдер Microsoft.Compute (кто умеет делать такие объекты) → тип virtualMachines → имя. Эту структуру мы разберём в следующих двух уроках — она и есть «модель ресурсов» Azure.

Частые ошибки

  • Выбрать регион наугад. Развернули прод во Флориде, а пользователи в Европе — получили лишние 120 мс на каждый запрос и другую цену в счёте. Регион выбирают осознанно: по пользователям, по закону, по цене.
  • Взять IaaS там, где хватило бы PaaS. Классика: подняли виртуалку ради одного сайта на PHP и теперь сами патчите ОС по субботам. Это отнимает время, а не экономит деньги.
  • Думать, что «удалил машину — перестал платить». Это ошибка, стоящая денег. При удалении виртуальной машины за ней могут остаться диск, публичный IP-адрес и сетевой интерфейс — и они продолжают тарифицироваться месяцами. Всегда проверяйте, что удалилось всё.
  • Считать бесплатный аккаунт бесплатным навсегда. У бесплатного аккаунта Azure три разные вещи: стартовый кредит на короткий срок, часть популярных сервисов бесплатно в течение первого года и небольшой набор сервисов, бесплатных всегда (always free). Кредит сгорает, льготный год заканчивается — а ресурсы остаются и начинают тарифицироваться по обычному тарифу. Перед созданием чего-либо крупного открывайте калькулятор цен.
  • Не настроить бюджет и оповещения. Без бюджета в Cost Management вы узнаете о неприятном счёте в конце месяца, а не на третий день.
  • Верить, что зоны доступности спасают от всего. Они спасают от отказа дата-центра. От вашей же ошибки в конфигурации, от удаления данных и от испорченного релиза они не спасают — для этого нужны бэкапы.

Итоги

  • Облако — аренда чужой инфраструктуры через API с оплатой по факту; главный выигрыш — скорость и эластичность, главный риск — счёт за забытые ресурсы.
  • IaaS/PaaS/SaaS различаются только границей ответственности; берите самый высокий уровень, который решает задачу.
  • Ваши данные, учётные записи и права — ваша зона ответственности в любой модели.
  • Azure, AWS и GCP концептуально похожи; знания переносимы, различаются экосистема и детали.
  • Регион определяет задержку, юрисдикцию и цену; зоны доступности внутри региона защищают от падения одного дата-центра.
  • Всё в Azure проходит через Azure Resource Manager, а каждый ресурс имеет ID вида /subscriptions/…/resourceGroups/…/providers/….
Проверьте себя
1. Вы разворачиваете обычный веб-сайт на .NET и не хотите заниматься обновлениями ОС и настройкой веб-сервера. Какую модель логичнее выбрать?
AIaaS — виртуальная машина, там больше контроля
BPaaS — например Azure App Service
CSaaS — например Microsoft 365
DНикакую: для веб-сайтов облако не подходит
2. Чем зона доступности (Availability Zone) отличается от региона?
AЗона — это другая страна, регион — другой континент
BЗона — физически отдельная площадка со своим питанием и сетью внутри одного региона
CЗона — это резервная копия данных региона
DЭто просто два названия одного и того же