Зоны доступности
Зоны доступности (англ. Availability Zones, AZ) — это логические изолированные местоположения в пределах одного региона облачного провайдера, предназначенные для обеспечения отказоустойчивости и высокой доступности вычислительных ресурсов. Каждая зона доступности представляет собой один или несколько физических центров обработки данных (ЦОД), которые имеют независимые источники электропитания, системы охлаждения и сетевую инфраструктуру. Основное назначение зон доступности — защита приложений и данных от сбоев, вызванных отказом оборудования, аварией в электросети или природными катастрофами, путём распределения ресурсов между несколькими изолированными площадками.
История и предпосылки появления
Концепция зон доступности возникла как развитие идеи географического распределения данных, применявшейся в ранних кластерных системах и дата-центрах. В 2000-х годах, с ростом популярности облачных вычислений, крупные провайдеры столкнулись с необходимостью предоставлять клиентам гарантии доступности, превышающие 99,9 % (так называемый «SLA» — Service Level Agreement). Традиционный подход, при котором все ресурсы размещались в одном центре обработки данных, не обеспечивал достаточной устойчивости к локальным авариям.
Первым коммерческим облачным сервисом, внедрившим зоны доступности в их современном понимании, стала Amazon Web Services (AWS) в 2008 году. AWS предложила модель, в которой регион (например, us-east-1) делится на несколько зон (us-east-1a, us-east-1b и т.д.), каждая из которых физически отделена от других. Вслед за AWS аналогичные архитектуры реализовали Microsoft Azure (Availability Zones, с 2017 года), Google Cloud Platform (Zones, с 2012 года), а также российские провайдеры, такие как Yandex Cloud (с 2020 года) и VK Cloud (с 2021 года).
Архитектура и принцип работы
Физическая изоляция
Зоны доступности в рамках одного региона располагаются на расстоянии от нескольких сотен метров до десятков километров друг от друга. Это расстояние достаточно велико, чтобы исключить влияние локальных аварий (например, пожара или наводнения), но достаточно мало, чтобы обеспечить низкую задержку (латентность) при передаче данных между зонами — обычно менее 1–2 миллисекунд. Каждая зона имеет собственные:
- источники бесперебойного питания и дизель-генераторы;
- системы кондиционирования и пожаротушения;
- физические каналы связи с магистральными сетями.
Логическая организация
Для пользователя облачного сервиса зона доступности представляется как логический сегмент, в котором можно создавать виртуальные машины, базы данных, хранилища и другие ресурсы. При развёртывании приложения разработчик может явно указать, в каких зонах должны быть размещены его компоненты. Например, для обеспечения отказоустойчивости веб-серверы могут быть запущены в трёх разных зонах, а балансировщик нагрузки будет распределять трафик между ними. Если одна зона выходит из строя, трафик автоматически перенаправляется в оставшиеся рабочие зоны.
Связь между зонами
Зоны внутри одного региона соединяются между собой высокоскоростными и избыточными каналами связи (обычно оптоволоконными). Трафик между зонами одного региона, как правило, не тарифицируется (или тарифицируется по сниженной ставке), что стимулирует клиентов использовать распределённые архитектуры. При этом данные, передаваемые между зонами, могут шифроваться для обеспечения безопасности.
Классификация зон доступности
По типу провайдера
- Публичные облака — зоны доступности, предоставляемые коммерческими облачными сервисами (AWS, Microsoft Azure, Google Cloud, Yandex Cloud, VK Cloud). Клиент арендует вычислительные мощности в одной или нескольких зонах, не управляя физической инфраструктурой.
- Частные облака — зоны доступности, создаваемые внутри корпоративных дата-центров для внутренних нужд организации. Обычно реализуются на базе решений VMware, OpenStack или Microsoft Azure Stack.
- Гибридные облака — комбинация публичных и частных зон, когда часть ресурсов располагается в ЦОД компании, а часть — у провайдера, с возможностью переноса нагрузки между ними.
По количеству зон в регионе
Большинство крупных облачных провайдеров предлагают от 2 до 6 зон в одном регионе. Например:
- AWS — обычно 3 зоны, реже 2 или 6 (в зависимости от региона);
- Microsoft Azure — от 2 до 3 зон;
- Google Cloud — 3 зоны;
- Yandex Cloud — 3 зоны;
- VK Cloud — 2 зоны.
Выбор количества зон зависит от стратегии провайдера, доступности земельных участков и экономической целесообразности.
Применение и значение
Отказоустойчивость
Основное применение зон доступности — построение отказоустойчивых архитектур. Критически важные приложения (например, банковские системы, платформы электронной коммерции, государственные информационные системы) развёртываются как минимум в двух, а часто и в трёх зонах. Это позволяет гарантировать доступность на уровне 99,99 % и выше.
Балансировка нагрузки и масштабирование
Зоны доступности используются для горизонтального масштабирования. При увеличении нагрузки новые экземпляры приложения могут запускаться в разных зонах, что позволяет равномерно распределять трафик и избегать перегрузки одной площадки. Автоматические масштабирующие группы (Auto Scaling Groups) могут создавать ресурсы в тех зонах, где есть свободная ёмкость.
Географическая избыточность
В некоторых случаях зоны доступности дополняются регионами — географически удалёнными площадками (например, регион «Москва» и регион «Владивосток»). Если зоны защищают от локальных аварий, то регионы — от катастроф регионального масштаба (землетрясения, войны, масштабные сбои электросетей). Однако для обеспечения работы между регионами требуется более сложная репликация данных и более высокая задержка.
Примеры использования
Финансовый сектор
Банки и платёжные системы, работающие в России, часто используют зоны доступности Yandex Cloud или VK Cloud для размещения своих процессинговых систем. Например, приложение для онлайн-банкинга может быть развёрнуто в трёх зонах, а база данных — с синхронной репликацией между двумя зонами и асинхронной в третью. В случае сбоя одной зоны транзакции продолжают обрабатываться без потерь.
Государственные информационные системы
Согласно требованиям российского законодательства, государственные информационные системы (ГИС) должны обеспечивать высокую доступность. Использование зон доступности позволяет выполнить эти требования без строительства собственных резервных дата-центров. Например, портал «Госуслуги» использует распределённую архитектуру, включающую несколько зон.
Электронная коммерция
Интернет-магазины, работающие с высокими нагрузками (например, в период распродаж), размещают свои веб-серверы и базы данных в нескольких зонах. Это позволяет выдерживать пиковые нагрузки и избегать простоев при технических работах в одной из зон.
Критика и ограничения
Несмотря на очевидные преимущества, использование зон доступности имеет ряд ограничений и недостатков.
Сложность архитектуры
Разработка приложения, способного работать в нескольких зонах, требует дополнительных усилий. Необходимо учитывать возможные задержки при передаче данных между зонами, обеспечивать согласованность данных (consistency) и корректно обрабатывать сценарии частичного отказа. Для многих небольших проектов затраты на создание такой архитектуры могут быть неоправданными.
Стоимость
Хотя трафик между зонами одного региона часто не тарифицируется, использование нескольких зон увеличивает общее количество потребляемых ресурсов (виртуальных машин, дисков, сетевых устройств). Кроме того, некоторые сервисы (например, управляемые базы данных) могут взимать дополнительную плату за репликацию между зонами.
Зависимость от провайдера
Привязка к конкретной архитектуре зон доступности может затруднить миграцию между облачными провайдерами. Разные компании по-разному реализуют механизмы изоляции и репликации, что требует адаптации приложений при смене поставщика.
Ограниченное количество зон
В некоторых регионах провайдеры предлагают только две зоны доступности, что снижает уровень отказоустойчивости. При выходе из строя одной зоны нагрузка полностью ложится на вторую, что может привести к её перегрузке и каскадному отказу.
Интересные факты
- В 2021 году в регионе AWS us-east-1 (Северная Виргиния) произошёл сбой, затронувший сразу несколько зон доступности из-за ошибки в программном обеспечении управления сетью. Это привело к массовым простоям сервисов, включая Netflix, Reddit и Amazon.com. Инцидент показал, что даже при наличии зон доступности полностью исключить сбои невозможно.
- В России первые зоны доступности в коммерческом облаке были запущены Yandex Cloud в 2020 году в регионе «Москва». Позднее, в 2022 году, VK Cloud также объявил о поддержке двух зон в своём регионе.
- Некоторые провайдеры, например, DigitalOcean, не используют термин «зоны доступности», а предлагают «регионы» с несколькими дата-центрами, что функционально аналогично, но имеет свои особенности в реализации.
Источники
- Amazon Web Services. «AWS Global Infrastructure: Availability Zones». Документация AWS.
- Microsoft Azure. «Regions and Availability Zones in Azure». Документация Microsoft.
- Google Cloud. «Regions and Zones». Документация Google Cloud.
- Yandex Cloud. «Зоны доступности». Документация Yandex Cloud.
- VK Cloud. «Архитектура облачной платформы». Документация VK Cloud.
- «Анализ отказоустойчивости облачных архитектур». Журнал «Открытые системы», 2022.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →