Три модели развертывания
Помимо моделей сервисов (IaaS/PaaS/SaaS), существуют три модели развертывания облачной инфраструктуры. Они определяют, кому принадлежит инфраструктура и кто имеет к ней доступ.
Публичное облако (Public Cloud)
В публичном облаке вся инфраструктура принадлежит облачному провайдеру и предоставляется через интернет множеству клиентов. Это наиболее распространенная модель.
Характеристики:
- Ресурсы принадлежат провайдеру (Microsoft, Amazon, Google)
- Доступ через интернет для любого клиента
- Нет капитальных затрат (CapEx) -- только операционные (OpEx)
- Мгновенное масштабирование по требованию
- Провайдер отвечает за физическую безопасность и обслуживание оборудования
Примеры: Microsoft Azure, Amazon Web Services, Google Cloud Platform
Преимущества: отсутствие начальных инвестиций, глобальная доступность, неограниченные возможности масштабирования.
Ограничения: данные хранятся на серверах провайдера, меньше контроля над физической инфраструктурой, потенциальные вопросы соответствия регуляторным требованиям.
Частное облако (Private Cloud)
Частное облако -- это облачная инфраструктура, используемая исключительно одной организацией. Она может размещаться в собственном дата-центре компании или у стороннего хостинг-провайдера.
Характеристики:
- Ресурсы используются только одной организацией
- Полный контроль над безопасностью и конфигурацией
- Может размещаться локально (on-premises) или у провайдера
- Требует капитальных затрат на оборудование
- Организация несет ответственность за обслуживание
Преимущества: максимальный контроль, полное соответствие требованиям безопасности и регуляторов, возможность использования устаревших (legacy) приложений.
Ограничения: высокие начальные затраты, необходимость в квалифицированном персонале, ограниченные возможности масштабирования.
Гибридное облако (Hybrid Cloud)
Гибридное облако объединяет публичное и частное облако, позволяя данным и приложениям перемещаться между ними. Это дает максимальную гибкость.
Характеристики:
- Комбинация публичного и частного облака
- Данные и приложения могут перемещаться между средами
- Чувствительные данные остаются в частном облаке
- Масштабирование и вспомогательные задачи переносятся в публичное облако
- Azure Arc позволяет управлять гибридной инфраструктурой из единой консоли
Примеры использования:
- Банк хранит данные клиентов в частном облаке, но использует Azure для аналитики
- Компания запускает основное приложение on-premises, но масштабирует нагрузку через Azure
- Медицинская организация хранит данные пациентов локально, а веб-портал размещает в публичном облаке
Сравнение моделей
| Характеристика | Публичное | Частное | Гибридное |
|---|---|---|---|
| Затраты | OpEx | CapEx + OpEx | CapEx + OpEx |
| Масштабирование | Неограниченное | Ограниченное | Гибкое |
| Контроль | Ограниченный | Полный | Гибкий |
| Безопасность | Управляет провайдер | Управляет организация | Совместно |
| Развертывание | Быстрое | Медленное | Среднее |
Архитектура Azure
Регионы (Regions)
Регион Azure -- это набор дата-центров, расположенных в одной географической области и связанных между собой высокоскоростной сетью. Azure предоставляет более 60 регионов по всему миру.
Примеры регионов: West Europe (Нидерланды), North Europe (Ирландия), East US (Вирджиния), Southeast Asia (Сингапур).
При выборе региона учитываются:
- Близость к пользователям -- для снижения задержки
- Соответствие законодательству -- требования по хранению данных в конкретной стране
- Доступность сервисов -- не все сервисы доступны во всех регионах
- Стоимость -- цены различаются между регионами
Пары регионов (Region Pairs)
Каждый регион Azure имеет пару в той же географической области. Пары регионов обеспечивают аварийное восстановление -- если один регион выходит из строя, данные реплицируются в парный регион.
Примеры пар: West Europe <-> North Europe, East US <-> West US.
Зоны доступности (Availability Zones)
Зона доступности -- это физически отдельный дата-центр внутри одного региона Azure. Каждая зона имеет независимое электропитание, охлаждение и сетевое подключение.
В регионе обычно 3 зоны доступности. Размещение приложений в нескольких зонах защищает от сбоя одного дата-центра.
# Создание виртуальной машины в конкретной зоне доступности
az vm create \
--resource-group rg-demo \
--name myVM \
--image Ubuntu2204 \
--zone 1 \
--location westeurope
Географии (Geographies)
Azure Geography -- это рынок, определяющий границы хранения данных и соответствия нормативным требованиям. Географии содержат один или несколько регионов.
Примеры: Европа, США, Азиатско-Тихоокеанский регион, Ближний Восток и Африка.
Иерархия управления ресурсами
Azure использует четырехуровневую иерархию для организации ресурсов:
Management Groups (Группы управления)
+-- Subscriptions (Подписки)
+-- Resource Groups (Группы ресурсов)
+-- Resources (Ресурсы)
Management Groups (Группы управления)
Верхний уровень иерархии. Позволяют управлять политиками и доступом для нескольких подписок одновременно. Полезны для крупных организаций с множеством подписок.
Subscriptions (Подписки)
Подписка -- это единица биллинга в Azure. Все расходы привязаны к подписке. Организация может иметь несколько подписок -- например, отдельные для Production, Development и Testing.
Resource Groups (Группы ресурсов)
Логический контейнер для связанных ресурсов. Каждый ресурс Azure принадлежит ровно одной группе ресурсов. Ресурс не может принадлежать нескольким группам одновременно.
Группы ресурсов удобны для:
- Организации ресурсов по проектам или приложениям
- Управления доступом на уровне группы
- Удаления всех ресурсов проекта одной командой
# Создание группы ресурсов
az group create --name rg-orderapp-dev --location westeurope
# Просмотр всех ресурсов в группе
az resource list --resource-group rg-orderapp-dev --output table
# Удаление группы и всех ресурсов внутри
az group delete --name rg-orderapp-dev --yes
Resources (Ресурсы)
Конечная единица в Azure -- виртуальная машина, база данных, веб-приложение, хранилище и т.д. Каждый ресурс имеет уникальный идентификатор и управляется через Azure Resource Manager (ARM).
Azure Resource Manager (ARM)
ARM -- это уровень управления, через который проходят все запросы к Azure. Независимо от того, используете ли вы Azure Portal, CLI, PowerShell или REST API -- все запросы обрабатываются через ARM.
ARM обеспечивает:
- Единообразное управление ресурсами
- Контроль доступа через RBAC
- Тегирование ресурсов для организации
- Развертывание инфраструктуры через шаблоны (ARM Templates, Bicep)