Microsoft AZ-305: Вычислительные ресурсы и архитектура приложений — Руководство по подготовке
Часть Microsoft Azure Solutions Architect Expert AZ-305 — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Microsoft, или пройдите тесты на время на ExamRoll.io.
Обзор
Вычислительные ресурсы Azure охватывают модели выполнения на уровне инфраструктуры, платформы и бессерверных вычислений. Надежная архитектура обеспечивает баланс между доступностью, стоимостью, производительностью, операционной эффективностью и безопасностью, при этом соответствуя жизненному циклу и топологии развертывания рабочей нагрузки. Понимание возможностей и компромиссов виртуальных машин, масштабируемых наборов, App Service, Functions, сред выполнения контейнеров, платформ оркестрации, пакетного планирования, Service Fabric и Azure VMware Solution позволяет создавать точные, соответствующие рабочей нагрузке архитектурные решения.
Виртуальные машины и масштабируемые наборы
Виртуальные машины Azure предлагают семейства размеров, оптимизированные для рабочих нагрузок общего назначения (Dv5, Dasv5), оптимизированных для вычислений (Fsv2), оптимизированных для памяти (Ev5, Ebdsv5), оптимизированных для хранилища (Lsv3 с локальным NVMe), с большим объемом памяти (Mv2), HPC (HBv3/HC) и с GPU (NCas, ND). Выбирайте размеры на основе соотношения ЦП/памяти, потребностей в эфемерном хранилище, пропускной способности сети и таких функций, как AMD или Intel, ускоренная работа в сети и эфемерные диски ОС.
Группы доступности (Availability sets) распределяют ВМ по доменам сбоя (стойка/питание) и доменам обновления, чтобы уменьшить количество взаимосвязанных сбоев в пределах одного центра обработки данных. Зоны доступности (Availability zones) размещают ВМ в физически разделенных центрах обработки данных в пределах одного региона, предлагая более высокий SLA и истинную зональную избыточность ценой задержки между зонами. Группы размещения с учетом расположения (Proximity placement groups) совместно размещают зональные или незональные ресурсы для минимизации задержек в рамках жестко ограниченной физической топологии, что полезно для многоуровневых систем с интенсивным обменом данными (например, уровень приложения с базой данных).
Точечные ВМ (Spot VMs) используют незадействованные мощности со значительными скидками, но могут быть вытеснены при повышении цены или нехватке ресурсов. Политика вытеснения (освободить или удалить) и максимальная цена (Max Price) определяют их поведение. Точечные ВМ идеально подходят для не сохраняющих состояние, прерываемых рабочих нагрузок, таких как CI-сборки, пакетная обработка и крупномасштабные тестовые среды, но не для критически важных сервисов, хранящих состояние.
Масштабируемые наборы виртуальных машин (Virtual Machine Scale Sets, VMSS) управляют идентичными ВМ с единым жизненным циклом, проверками работоспособности, автоматическим восстановлением экземпляров и распределением по зонам. Автомасштабирование использует правила или расписания Azure Monitor, реагируя на метрики, такие как ЦП, память (через пользовательские метрики), глубина очереди или количество запросов. Прогнозное автомасштабирование может заранее подготавливать ресурсы на основе исторических данных. Режимы оркестрации включают Uniform (однородные экземпляры) и Flexible (разнородные, поддерживает семейства ВМ и смешанные приоритеты). Последовательные обновления и автоматические обновления образов используют проверки работоспособности и домены обновления для безопасного вывода из эксплуатации, проверки и развертывания, с возможностью отката при ухудшении состояния. VMSS интегрирует точечные мощности с перебалансировкой и приоритизацией, так что при масштабировании (в обе стороны) в первую очередь затрагиваются экземпляры, подверженные вытеснению. Комбинируйте VMSS с зонами для высокой доступности, PPG для низкой задержки и расширением Application Health для безопасного развертывания.
Веб, бессерверные вычисления и платформа приложений
Azure App Service предоставляет управляемый хостинг для кода и контейнеров на базе Windows/Linux. Планы определяют изоляцию вычислительных ресурсов и доступные функции:
- Free/Shared для разработки/тестирования; Basic/Standard для начального уровня продакшена; Premium v3 для повышенной производительности, интеграции с VNet, изоляции на уровне гиперпотоков и слотов развертывания; Isolated v2 (App Service Environment) для однопользовательского, изолированного в сети хостинга. Слоты развертывания (Deployment slots) позволяют реализовывать сине-зеленые и канареечные развертывания с предварительным прогревом, настройками для конкретного слота, постепенным увеличением трафика и обменом без простоя. Интеграция с VNet предлагает два аспекта: интеграция для исходящего трафика на региональном уровне через делегированные подсети (маршрутизация через NAT Gateway или пользовательские маршруты) и доступ для входящего трафика через частные конечные точки (Private Endpoints) для отключения публичного доступа при интеграции с частным DNS. Ограничения доступа в App Service, аутентификация/авторизация и управляемые удостоверения снижают риски, связанные с периметром сети и учетными данными. Вертикальное масштабирование (Scale up) изменяет уровень/размер плана; горизонтальное масштабировние (scale out) увеличивает количество экземпляров с помощью правил автомасштабирования, привязанных к Azure Monitor.
Azure Functions предоставляет управляемые событиями вычисления. Варианты хостинга:
- Consumption: оплата за каждое выполнение с динамическим масштабированием и компромиссами, связанными с холодным стартом, максимальной продолжительностью выполнения и отсутствием интеграции с VNet для Windows до использования плана Premium; идеально для нагрузок с резкими всплесками.
- Premium: предварительно прогретые экземпляры устраняют холодные старты, поддерживают интеграцию с VNet, длительное выполнение и предсказуемую производительность для корпоративных интеграций.
- Dedicated (App Service Plan): работает на зарезервированных экземплярах App Service для стабильных рабочих нагрузок или совместного размещения с веб-приложениями. Durable Functions вводят оркестрации, действия и сущности для долго выполняющихся, надежных рабочих процессов, реализуя шаблоны fan-out/fan-in, взаимодействие с человеком и саги с сохраняемым состоянием и семантикой повторного воспроизведения. Привязки (Bindings) и триггеры (triggers) отделяют код от сервисов: HTTP, Timer, Service Bus, Event Hubs, Event Grid, Storage Queues/Blobs, Cosmos DB и пользовательские привязки. Параллелизм, поведение при масштабировании и создание контрольных точек различаются в зависимости от плана; проектируйте с учетом идемпотентности и политик повторных попыток (backoff).
Контейнеры и Kubernetes
Azure Container Instances (ACI) предоставляет быстрые бессерверные контейнеры без необходимости управлять кластером. Группа контейнеров совместно использует сетевое пространство имен, IP-адрес и тома хранения; используйте шаблоны sidecar (например, агент логирования рядом с контейнером приложения) и конфигурации с несколькими контейнерами для совместного размещения тесно связанных процессов. Интеграция с VNet через делегирование подсети обеспечивает частное адресное пространство, контроль исходящего трафика и частные конечные точки для зависимостей; это упрощает выполнение пакетных или выполняемых по требованию заданий из частных сред. ACI идеально подходит для эфемерных задач, шагов CI/CD и рабочих нагрузок с пиковой активностью, которым требуется время запуска от нескольких секунд до нескольких минут, но не для сложных service mesh или продвинутого планирования.
Azure Kubernetes Service (AKS) управляет плоскостями управления Kubernetes с опциональным SLA по времени безотказной работы и предлагает системные и пользовательские пулы узлов. Используйте минимальный системный пул узлов с taint для основных компонентов и отдельные пользовательские пулы для каждого типа нагрузки (например, GPU, Spot, Windows). Интегрируйте пулы узлов Spot для экономии на отказоустойчивых нагрузках с использованием tolerations и PodDisruptionBudgets. Cluster autoscaler регулирует количество узлов в пулах на основе подов, которые не могут быть запланированы; комбинируйте его с Horizontal Pod Autoscaler (HPA) и, для масштабирования на основе событий, с KEDA. Azure CNI назначает IP-адреса из VNet непосредственно подам, упрощая сетевые политики, обнаружение сервисов и интеграцию с локальной средой через маршрутизируемые адреса, но потребляя больше IP-адресов; Azure CNI Overlay сокращает потребление IP-адресов из VNet, сохраняя семантику CNI. Kubenet использует NAT с меньшим количеством IP-адресов из VNet, но добавляет сложность из-за SNAT и имеет ограниченные расширенные сетевые возможности. Выбирайте CNI для корпоративных сетей и политик, kubenet для небольших кластеров с ограниченным адресным пространством и Overlay для высокой плотности подов без разрастания CIDR. Используйте зоны доступности для пулов узлов, обновления с всплеском (surge upgrades) для минимизации сбоев и каналы обновления узлов/образов для поддержания состояния безопасности.
Batch и Service Fabric
Azure Batch оркестрирует крупномасштабные параллельные и HPC-нагрузки без необходимости создавать собственный планировщик. Пулы определяют вычислительные ресурсы: размеры ВМ (включая GPU/HPC), образы (из Marketplace, пользовательские или из Shared Image Gallery) и задачи запуска для начальной настройки среды. Пакеты приложений версионируют ваши бинарные файлы; сертификаты и управляемые удостоверения обеспечивают безопасную интеграцию секретов. Задания группируют задачи, которые могут объявлять зависимости, использовать координацию между несколькими экземплярами и задействовать слоты задач на каждой ВМ. Расписания заданий автоматизируют повторяющиеся запуски. Формулы автомасштабирования ссылаются на встроенные метрики (например, $PendingTasks, $RunningTasks) и целевые значения (targetDedicatedNodes, targetLowPriorityNodes) с логикой для реакции на глубину очереди, среднее время выполнения и ограничения по стоимости. Автопулы создают пулы для каждого задания, обеспечивая чистую среду; постоянные пулы амортизируют затраты на инициализацию при частых запусках. Комбинируйте низкоприоритетные (Spot) узлы для снижения затрат, используя логику отказоустойчивости и контрольные точки (checkpointing).
Azure Service Fabric — это платформа для распределенных систем и микросервисов с мощными возможностями управления состоянием. Сервисы без состояния (stateless) легко масштабируются горизонтально и быстро восстанавливаются, в то время как сервисы с состоянием (stateful) используют Reliable Collections и репликацию для удовлетворения требований к состоянию в памяти с низкой задержкой и сохранением на диске. Секционирование (partitioning) распределяет нагрузку и состояние; наборы реплик поддерживают доступность. Уровни надежности кластера (Bronze, Silver, Gold, Platinum) определяют требования к начальным узлам (seed nodes) и кворуму, влияя на отказоустойчивость и параллелизм обновлений. Домены обновления (Upgrade domains) организуют последовательные обновления по всему кластеру, изолируя воздействие сбоев; политики работоспособности и автоматический откат обеспечивают безопасность. Service Fabric подходит для сценариев, требующих обработки с состоянием и высокой пропускной способностью, сложных рабочих процессов или когда строгая согласованность и совместное размещение с вычислительными ресурсами имеют первостепенное значение.
Azure VMware Solution и принципы выбора вычислительных служб
Azure VMware Solution (AVS) предоставляет полностью управляемый стек vSphere, vSAN и NSX-T на физических серверах Azure. Частные облака работают в регионах Azure с доступом к vCenter и привычными инструментами VMware. Подключение осуществляется через канал AVS ExpressRoute, соединенный с виртуальными сетями Azure через ExpressRoute Global Reach; оттуда можно подключиться к локальной среде через существующий ExpressRoute или VPN. Сетевые возможности NSX-T обеспечивают микросегментацию и маршрутизацию север-юг. HCX позволяет выполнять динамическую миграцию vMotion, массовую миграцию, миграцию vMotion с помощью репликации и расширение сети для эвакуации центров обработки данных и этапов модернизации с минимальным временем простоя. AVS идеально подходит для вывода центров обработки данных из эксплуатации, переноса портфелей приложений, тесно связанных со структурами VMware, и создания переходных целевых зон, которые позже интегрируются с нативными службами Azure по приватным каналам.
Выбор вычислительных служб подчиняется четким эвристическим правилам:
- Используйте Azure VMs, когда вам требуется контроль на уровне ОС, пользовательские образы, специализированное оборудование (GPU/HPC) или есть зависимости от устаревших систем. Добавьте группы доступности/зоны доступности и группы размещения близкого взаимодействия (PPG) для достижения целевых показателей SLA и задержки. Применяйте Spot для оптимизации затрат за счет прерываемых рабочих нагрузок.
- Используйте App Service для размещения веб-API/сайтов на стандартных фреймворках, когда вам нужна управляемая платформа, встроенные слоты DevOps и автомасштабирование без сложностей, связанных с контейнерами/Kubernetes. Выбирайте уровень Premium или Isolated, если вам необходима интеграция с VNet и функции корпоративного уровня.
- Используйте Azure Functions для задач, управляемых событиями, с пиковой нагрузкой или ориентированных на рабочие процессы, с минимальными операционными издержками; уровень Premium устраняет холодные запуски и обеспечивает доступ к VNet/приватным ресурсам. Применяйте Durable Functions для оркестрации и длительных операций.
- Используйте ACI для эфемерных контейнеров и заданий, быстрого масштабирования, а также в качестве бессерверной среды выполнения из конвейеров или виртуальных узлов AKS. Выбирайте ACI с интеграцией в VNet для приватных рабочих нагрузок.
- Используйте AKS для микросервисов, обеспечения переносимости, расширенного планирования, service mesh и стандартизированного DevOps для контейнеров в большом масштабе; выбирайте модель CNI в зависимости от потребностей в IP-адресах и требований к сетевым политикам. Разделяйте пулы узлов по характеристикам рабочей нагрузки и зонам доступности и включайте автомасштабирование.
- Используйте Azure Batch для параллельных вычислений, рендеринга, моделирования Монте-Карло и ETL-нагрузок с возможностями планирования, экономии за счет автомасштабирования и использования ресурсов с низким приоритетом.
- Используйте Service Fabric для микросервисов с отслеживанием состояния и высокой пропускной способностью или когда требуются строгая согласованность, надежные акторы и точный контроль над обновлением/размещением.
- Используйте AVS для быстрой миграции сред VMware, сохранения операционных моделей и интеграции с сетями и службами Azure в рамках модернизации.
Пример практической задачи
Компания Contoso Retail модернизирует свою платформу электронной коммерции, чтобы справляться с мгновенными распродажами, обеспечивая задержку менее 10 мс между уровнем API и слоем кэширования, достигать SLA 99,99% в пределах одного региона, минимизировать затраты при обычной нагрузке и мигрировать устаревшую систему управления заказами, все еще работающую на VMware. Решение должно предоставлять публичные API, обрабатывать асинхронные события и выполнять ночной расчет скоринга модели рекомендаций, не влияя на работу основного сайта.
Разместите основные вычислительные ресурсы в регионе с тремя зонами доступности и создайте группу размещения близкого взаимодействия (proximity placement group). Разместите уровень API в зональном VMSS (Premium SSD v2, ускоренная работа с сетью) внутри PPG для минимальной задержки до Redis Enterprise и зональной инфраструктуры SQL/Cache. Этот выбор обеспечивает точный контроль производительности, снижение задержки на уровне PPG и отказоустойчивость на уровне зон для «горячего пути».
Настройте автомасштабирование VMSS на основе частоты запросов и пользовательских метрик глубины очереди, с запланированными профилями для ожидаемых мгновенных распродаж. Включите скользящие обновления с пробами работоспособности и автоматическим обновлением образов. Это обеспечивает эластичную емкость и безопасное развертывание в условиях экстремальной нагрузки при соблюдении SLA.
Разверните веб-интерфейс для клиентов на Azure App Service Premium v3 со слотами развертывания для сине-зеленого развертывания. Интегрируйте приложение с VNet для частного исходящего трафика к внутренним API и хранилищам данных через Private Endpoints. App Service был выбран, чтобы снять задачи по управлению платформой и оптимизировать непрерывную доставку с помощью безопасных переключений.
Реализуйте асинхронную обработку заказов с помощью Azure Functions Premium, используя триггеры Service Bus и Durable Functions для оркестрации (шаблон fan-out/fan-in для проверок запасов, авторизации платежей и уведомлений). Уровень Premium устраняет холодные запуски, поддерживает интеграцию с VNet, а Durable Functions обеспечивает надежную координацию в рамках шаблона Saga.
Используйте Azure Batch для ночного расчета скоринга модели рекомендаций на узлах с низким приоритетом (Spot) в постоянном пуле с предварительно загруженными зависимостями модели. Формула автомасштабирования определяет количество узлов на основе ожидающих задач и прогнозов по реальному времени выполнения. Batch изолирует тяжелую вычислительную нагрузку от операционного хранилища и оптимизирует затраты за счет использования емкости Spot и задач с контрольными точками.
Добавьте ACI для пиковых, нерегламентированных заданий по преобразованию данных, запускаемых CI/CD, и для генерации отчетов для конкретных клиентов. Развертывайте группы контейнеров в делегированную подсеть, чтобы вся обработка оставалась в частном адресном пространстве. ACI был выбран за почти мгновенный запуск и нулевые накладные расходы на кластер для спорадических задач.
Разверните Azure VMware Solution для устаревшей системы управления заказами, выполнив миграцию с помощью HCX, используя миграцию vMotion с помощью репликации и расширив локальные сети в AVS на время перехода. Подключите AVS к виртуальным сетям приложений через ExpressRoute Global Reach. AVS позволяет сохранить операционные инструменты и ускорить вывод центра обработки данных из эксплуатации без рефакторинга.
Для будущих микросервисов разверните AKS с зональными пулами пользовательских узлов, системным пулом с ограничениями (taints) и пулом Spot для отказоустойчивых нагрузок. Выберите Azure CNI Overlay, чтобы экономить IP-пространство VNet, сохраняя при этом возможности применения политик. Включите автомасштабирование кластера и HPA для многоуровневого масштабирования. AKS готовит Contoso к эволюции в сторону нативных контейнерных решений, где оркестрация приносит дополнительную ценность.
Такая композиция удовлетворяет требованиям к низкой задержке и высокой доступности за счет VMSS с PPG и зонами для «горячего пути», упрощает доставку веб-контента с помощью App Service, эффективно использует бессерверные и пакетные вычисления для асинхронных и пакетных задач, задействует ACI для эфемерных задач и применяет AVS для миграции систем, зависимых от VMware — все это интегрировано приватно через VNet и Private Endpoints для поддержания безопасности и производительности.
← Хранение данных и решения для баз данных · Все домены · Сетевое взаимодействие и подключение →
Отработать эти вопросы → · Тесты на время на ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Сдайте экзамен →