Поделиться через


Выбор службы вычислений Azure

Azure предоставляет множество способов размещения кода приложения. Термин вычислений относится к модели размещения для ресурсов, на которые работает ваше приложение. Эта статья поможет выбрать службу вычислений для приложения.

Architecture

Используйте следующую блок-схему, чтобы выбрать кандидатную службу вычислений.

Схема, показывающая дерево принятия решений для служб вычислений Azure.

На изображении показана блок-схема для выбора соответствующей службы Azure на основе того, переносит ли пользователь существующую рабочую нагрузку или создает новую. Блок-схема начинается с начального узла и разбивается на две основные ветви, помеченные как "Миграция" и "Сборка". Ветвь миграции включает точки принятия решений, которые оценивают, оптимизировано ли приложение для облака и может ли оно быть отменено и смещено. В зависимости от ответов поток приводит к таким службам, как Служба приложений Azure, решение Azure VMware или виртуальные машины. Новая ветвь сборки включает точки принятия решений, которые оценивают необходимость полного контроля, высокопроизводительных вычислений, рабочих нагрузок на основе событий, управляемых веб-размещения и требований оркестрации. Эти решения помогут пользователю использовать такие службы, как виртуальные машины, пакетная служба Azure, Функции Azure, Служба приложений, Экземпляры контейнеров Azure, Azure Service Fabric, Azure Red Hat OpenShift, Служба Azure Kubernetes или приложения контейнеров Azure. Раздел ветвления для собственной реализации оркестрации на виртуальных машинах включает VMware Tanzu на виртуальных машинах, Kubernetes на виртуальных машинах и OpenShift на виртуальных машинах. В нижней части изображения в двух полях перечислены службы, исключающие контейнеры, и службы, совместимые с контейнерами. В этом разделе содержатся экземпляры контейнеров Azure, Azure Red Hat OpenShift, Kubernetes на виртуальных машинах, OpenShift на виртуальных машинах и VMware Tanzu на виртуальных машинах. В разделе, совместимом с контейнером, входят пакетная служба Azure, Функции Azure, Service Fabric и служба приложений.

Скачайте файл Visio для этой архитектуры.

На предыдущей схеме приведены две стратегии миграции:

  • Лифт и смена: Стратегия миграции рабочей нагрузки в облако без изменения приложения или внесения изменений в код. Он также называется повторное размещение. Дополнительные сведения см. в центре миграции и модернизации облака Azure.

  • Оптимизировано для облака: Стратегия миграции в облако путем рефакторинга приложения, чтобы воспользоваться преимуществами облачных функций и возможностей.

Выходные данные из этой блок-схемы являются отправной точкой. Затем оцените службу, чтобы узнать, соответствует ли она вашим потребностям.

В этой статье содержится несколько таблиц, которые помогут вам выбрать службу. Первоначальный кандидат из блок-схемы может быть непригодным для приложения или рабочей нагрузки. В этом случае разверните анализ, чтобы включить другие вычислительные службы.

Если приложение состоит из нескольких рабочих нагрузок, оцените каждую рабочую нагрузку отдельно. Полное решение может включать два или более вычислительных служб.

Общие сведения о основных функциях

Если вы не знакомы со службой Azure, выбранной в предыдущем разделе, ознакомьтесь со следующей обзорной документацией:

  • Служба приложений Azure — это управляемая служба для размещения веб-приложений, внутренних приложений мобильных приложений, API RESTful или автоматизированных бизнес-процессов.

  • Пакетная служба Azure — это управляемая служба для выполнения крупномасштабных параллельных и высокопроизводительных вычислений (HPC).

  • Приложения контейнеров Azure — это управляемая служба, основанная на Kubernetes, которая упрощает развертывание контейнерных приложений в бессерверной среде.

  • Экземпляры контейнеров Azure — это служба для запуска одного контейнера или группы контейнеров в Azure. Экземпляры контейнеров не предоставляют полную оркестрацию контейнеров, но вы можете реализовать контейнеры без необходимости подготавливать виртуальные машины или применять более высокий уровень службы.

  • Функции Azure — это служба, которая предоставляет управляемые функции, которые выполняются на основе различных типов триггеров для приложений, управляемых событиями.

  • Служба Azure Kubernetes (AKS) — это управляемая служба Kubernetes для запуска контейнерных приложений.

  • Azure Red Hat OpenShift — это полностью управляемый кластер OpenShift для запуска контейнеров в рабочей среде с Kubernetes.

  • Azure Service Fabric — это платформа распределенных систем, которая может выполняться во многих средах, включая Azure или локальную среду.

  • Решение Azure VMware — это управляемая служба для запуска рабочих нагрузок VMware в Azure.

  • Виртуальные машины Azure — это служба, в которой вы развертываете виртуальные машины и управляете ими в виртуальной сети Azure.

Общие сведения о моделях размещения

Для моделей размещения облачные службы делятся на три категории:

  • Инфраструктура как услуга (IaaS) позволяет подготавливать виртуальные машины вместе с связанными сетевыми компонентами и компонентами хранилища. Затем вы можете развернуть любое программное обеспечение и приложения на этих виртуальных машинах. Эта модель ближе всего к традиционной локальной среде. Корпорация Майкрософт управляет инфраструктурой и управляет виртуальными машинами.

  • Платформа как услуга (PaaS) предоставляет управляемую среду размещения, в которой можно развернуть приложение без необходимости управлять виртуальными машинами или сетевыми ресурсами. Служба приложений и приложения контейнеров — это службы PaaS.

  • Функции как услуга (FaaS) позволяют развертывать код в службе, которая автоматически запускает его. Функции Azure — это служба FaaS.

    Замечание

    Функции Azure — это бессерверное предложение вычислений Azure. Чтобы узнать, как эта служба сравнивается с другими бессерверными предложениями Azure, такими как Azure Logic Apps для бессерверных рабочих процессов, см. статью "Выбор правильных служб интеграции и автоматизации" в Azure.

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

Существует компромисс между контролем и простотой управления. IaaS обеспечивает максимальное управление, гибкость и переносимость. Однако необходимо подготовить, настроить и управлять виртуальными машинами и сетевыми компонентами, которые вы создаете. Службы FaaS автоматически управляют практически всеми аспектами запуска приложения. PaaS обеспечивает частичное управление, требуя некоторой конфигурации пользователя.

Услуга Композиция приложения Плотность Минимальное количество узлов Управление состоянием Размещение веб-сайта
Virtual Machines Агностик Агностик 1 2 Без отслеживания состояния или состояния Агностик
App Service Приложения, контейнеры Несколько приложений для каждого экземпляра с помощью плана службы приложений 1 Служба без отслеживания Built-in
Azure Functions Функции, контейнеры Бессерверные 1 Бессерверные 1 Без отслеживания состояния или состояние 6 Неприменимо
AKS Containers Несколько контейнеров для каждого узла 3 3 Без отслеживания состояния или состояния Агностик
Container Apps Containers Serverless Serverless Без отслеживания состояния или состояния Агностик
Container Instances Containers Нет выделенных экземпляров Нет выделенных узлов Служба без отслеживания Агностик
Azure Red Hat OpenShift Containers Несколько контейнеров для каждого узла 6 5 Без отслеживания состояния или состояния Агностик
Service Fabric Службы, гостевые исполняемые файлы, контейнеры Несколько служб для каждой виртуальной машины 5 3 Без отслеживания состояния или состояния Агностик
Batch Запланированные задания Несколько приложений для каждой виртуальной машины 1 4 Служба без отслеживания нет
Решение Azure VMware Агностик Агностик 3 7 Без отслеживания состояния или состояния Агностик

Примечания:

1Для функций Azure план потребления бессерверен. Для плана службы приложений функции выполняются на виртуальных машинах, выделенных для этого плана. Выберите правильный план обслуживания для Функций Azure.

2Соглашение об уровне обслуживания (SLA) с двумя или более экземплярами.

3Рекомендуется для рабочих сред.

4Может уменьшиться до нуля после завершения задания.

5три основных узла и три рабочих узла.

6При использовании устойчивых функций.

7см. узлы.

Нетворкинг

Услуга Интеграция виртуальной сети Гибридное подключение
Virtual Machines Поддерживается Поддерживается
App Service Поддерживается 1 Поддерживается 2
Azure Functions Поддерживается 1 Поддерживается 3
AKS Supported Поддерживается
Container Apps Поддерживается Поддерживается
Container Instances Supported Supported
Azure Red Hat OpenShift Supported Поддерживается
Service Fabric Поддерживается Поддерживается
Batch Поддерживается Поддерживается
Решение Azure VMware Supported Supported

Примечания:

1Требуется среда службы приложений или выделенная ценовая категория вычислений.

2. Используйте гибридные подключения службы приложений.

3. Требуется план службы приложений или план Функций Azure Premium.

DevOps

Услуга Локальная отладка Модель программирования Обновление приложения
Virtual Machines Агностик Агностик Встроенная поддержка не поддерживается
App Service IIS Express, другие 1 Веб-приложения и приложения API, веб-задания для фоновых задач Слоты развертывания
Azure Functions Visual Studio или Azure Functions CLI Бессерверные, управляемые событиями Слоты развертывания
AKS Minikube, Docker, другие Агностик Последовательное обновление
Container Apps Локальная среда выполнения контейнера Агностик Управление редакциями
Container Instances Локальная среда выполнения контейнера Агностик Неприменимо
Azure Red Hat OpenShift Minikube, Docker, другие Агностик Последовательное обновление
Service Fabric Кластер локальных узлов Гостевой исполняемый файл, модель службы, модель субъекта, контейнеры Последовательное обновление для каждой службы
Batch Не поддерживается Приложение командной строки Неприменимо
Решение Azure VMware Агностик Агностик Встроенная поддержка не поддерживается

Note:

1Варианты включают IIS Express для ASP.NET или node.js (iisnode), веб-сервер PHP, Набор средств Azure для IntelliJ и Набор средств Azure для Eclipse. Служба приложений также поддерживает удаленную отладку развернутых веб-приложений.

Масштабируемость

Услуга Autoscaling Подсистема балансировки нагрузки Ограничение масштабирования3
Virtual Machines Масштабируемые наборы виртуальных машин Azure Load Balancer (балансировщик нагрузки Azure) Образ платформы: 1000 узлов для каждого масштабируемого набора. Пользовательский образ: 600 узлов для каждого масштабируемого набора.
App Service Встроенная служба Интегрированный 30 экземпляров, 100 с средой службы приложений
Azure Functions Встроенная служба Интегрированный 200 экземпляров для каждого приложения-функции
AKS Автомасштабирование pod1, автомасштабирование кластера2 Load Balancer или Шлюз приложений Azure 5000 узлов при использовании обслуживания об уровне обслуживания от простоя
Container Apps Правила масштабирования4 Интегрированный 15 сред для каждого региона (ограничение по умолчанию), неограниченное количество приложений контейнеров для каждой среды и реплик для каждого приложения-контейнера (в зависимости от доступных ядер)
Container Instances Не поддерживается Встроенная поддержка не поддерживается 100 групп контейнеров для каждой подписки (ограничение по умолчанию)
Azure Red Hat OpenShift Автомасштабирование pod, автомасштабирование кластера Load Balancer или Шлюз приложений 250 узлов для каждого кластера (ограничение по умолчанию)
Service Fabric Масштабируемые наборы виртуальных машин Балансировщик нагрузки 100 узлов для каждого масштабируемого набора виртуальных машин
Batch Неприменимо Балансировщик нагрузки Основное ограничение в 900 выделенных и 100 низкоприоритетных (ограничение по умолчанию)
Решение Azure VMware Встроенная служба5 Встроенная6 3–16 узлов VMware ESXi на VMware vCenter

Примечания:

1См. модули pod автомасштабирования.

2. Автоматическое масштабирование кластера для удовлетворения требований приложений к AKS.

3См. ограничения подписки и службы Azure, квоты и ограничения

4. Настройка правил масштабирования в приложениях контейнеров

5См. масштабирование решения Azure VMware

6См. NSX VMware

Доступность

Услуга Параметр отработки отказа с несколькими агрегатами
Virtual Machines Диспетчер трафика Azure, Azure Front Door и подсистема балансировки нагрузки между регионами
App Service Диспетчер трафика и Azure Front Door
Azure Functions Диспетчер трафика и Azure Front Door
AKS Диспетчер трафика, Кластер Azure Front Door и многорегионный кластер
Container Apps Диспетчер трафика и Azure Front Door
Container Instances Диспетчер трафика и Azure Front Door
Azure Red Hat OpenShift Диспетчер трафика и Azure Front Door
Service Fabric Диспетчер трафика, Azure Front Door и подсистема балансировки нагрузки между регионами
Batch Неприменимо
Решение Azure VMware Неприменимо

Сведения о гарантиях обслуживания см. в статье об архитектуре и гарантиях служб Azure.

Безопасность

Просмотрите и изучите доступные элементы управления безопасностью и видимость для каждой из следующих служб:

Другие критерии

Услуга TLS Себестоимость Подходящие стили архитектуры
Virtual Machines Настроено на виртуальной машине Windows, Linux N-уровень, большие вычислительные ресурсы (HPC)
App Service Поддерживается Цены на службу приложений Рабочая роль веб-очереди
Azure Functions Поддерживается Цены на Функции Azure Микрослужбы, архитектура на основе событий
AKS Контроллер входящего трафика Цены AKS Микрослужбы, архитектура на основе событий
Container Apps Контроллер входящего трафика Цены на приложения-контейнеры Микрослужбы, архитектура на основе событий
Container Instances Использование контейнера боковинка Цены на экземпляры контейнеров Микрослужбы, автоматизация задач, пакетные задания
Azure Red Hat OpenShift Поддерживается Цены на Azure Red Hat OpenShift Микрослужбы, архитектура на основе событий
Service Fabric Поддерживается Цены на Service Fabric Микрослужбы, архитектура на основе событий
Batch Поддерживается Цены на пакетную службу Большие вычислительные ресурсы (HPC)
Решение Azure VMware Настроено на виртуальной машине Цены на решение Azure VMware Рабочая нагрузка виртуальной машины на основе формата VMware

Рассмотрите ограничения и затраты

Наряду с предыдущими таблицами сравнения выполните более подробную оценку следующих аспектов службы кандидатов:

Соавторы

Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.

Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.

Следующий шаг