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

Служба приложений Azure
Служба Azure Kubernetes (AKS)

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

Выбор службы кандидатов

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

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

Скачайте файл Visio этого дерева принятия решений.

Эта схема относится к двум стратегиям миграции:

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

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

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

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

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

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

  • Azure Виртуальные машины. Служба, в которой развертываются виртуальные машины Azure и управляете ими в виртуальной сети Azure.
  • приложение Azure служба: управляемая служба для размещения веб-приложений, серверных серверов мобильных приложений, API RESTful или автоматизированных бизнес-процессов.
  • Функции Azure: управляемая функция как услуга.
  • Служба Azure Kubernetes (AKS): управляемая служба Kubernetes для запуска контейнерных приложений.
  • Приложения контейнеров Azure: управляемая служба, основанная на Kubernetes, которая упрощает развертывание контейнерных приложений в бессерверной среде.
  • Экземпляры контейнеров Azure. Эта служба — это быстрый и простой способ запуска контейнера в Azure. Вам не нужно подготавливать виртуальные машины или применять более высокий уровень обслуживания.
  • Azure Red Hat OpenShift: полностью управляемый кластер OpenShift для запуска контейнеров в рабочей среде с Kubernetes.
  • Azure Spring Apps: управляемая служба, разработанная и оптимизированная для размещения приложений Spring Boot.
  • Azure Service Fabric: платформа распределенных систем, которая может выполняться во многих средах, включая Azure или локальную среду.
  • пакетная служба Azure: управляемая служба для выполнения крупномасштабных параллельных и высокопроизводительных вычислений (HPC).

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

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

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

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

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

    Примечание.

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

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

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

Service Структура приложения Плотность Минимальное количество узлов Управление данными о состоянии Размещение веб-сайта
Виртуальные машины Azure Не влияет Не влияет 12 Без отслеживания или с отслеживанием состояния Не влияет
Служба приложений Azure Приложения, контейнеры Несколько приложений на экземпляр с помощью плана Служба приложений 1 Служба без отслеживания Встроены
Функции Azure Функции, контейнеры Бессерверные1 Бессерверные1 Без отслеживания состояния или состояние 6 Нет данных
Служба Azure Kubernetes Контейнеры Несколько контейнеров на каждом узле 3 3 Без отслеживания или с отслеживанием состояния Не влияет
Приложения-контейнеры Azure Контейнеры Бессерверные приложения Бессерверные приложения Без отслеживания или с отслеживанием состояния Не влияет
Экземпляры контейнеров Azure Контейнеры Нет выделенных экземпляров Нет выделенных узлов Служба без отслеживания Не влияет
Azure Red Hat OpenShift Контейнеры Несколько контейнеров на каждом узле 6 5 Без отслеживания или с отслеживанием состояния Не влияет
Azure Spring Apps Приложения, микрослужбы Несколько приложений на экземпляр службы 2 Служба без отслеживания Встроены
Azure Service Fabric Службы, гостевые исполняемые файлы, контейнеры Несколько служб на каждой виртуальной машине 5 3 Без отслеживания или с отслеживанием состояния Не влияет
Пакетная служба Azure Запланированные задания Несколько приложений на каждой виртуальной машине 1 4 Служба без отслеживания No

Примечания.

  1. Если вы используете план потребления. Для плана Служба приложений функции выполняются на виртуальных машинах, выделенных для плана Служба приложений. См. раздел "Выбор правильного плана обслуживания" для Функции Azure.
  2. Соглашение об уровне обслуживания (SLA) с двумя или более экземплярами.
  3. Рекомендуется использовать в рабочей среде.
  4. По завершении задания может сводиться к нулю.
  5. Три для основных узлов и три для рабочих узлов.
  6. При использовании Устойчивые функции.

Сеть

Service Интеграция виртуальной сети Гибридное подключение
Виртуальные машины Azure Поддерживается Поддерживается
Служба приложений Azure Поддерживается 1 Поддерживается 2
Функции Azure Поддерживается 1 Поддерживается 3
Служба Azure Kubernetes Поддерживается Поддерживается
Приложения-контейнеры Azure Поддерживается Поддерживается
Экземпляры контейнеров Azure Поддерживается Поддерживается
Azure Red Hat OpenShift Поддерживается Поддерживается
Azure Spring Apps Поддерживается Поддерживается
Azure Service Fabric Поддерживается Поддерживается
Пакетная служба Azure Поддерживается Поддерживается

Примечания.

  1. Требуется Среда службы приложений.
  2. Используйте гибридные подключения к службе приложений Azure.
  3. Требуется план Служба приложений или план Функции Azure Premium.

DevOps

Service Локальная отладка Модель программирования Обновление приложения
Виртуальные машины Azure Не влияет Не влияет Нет встроенной поддержки
Служба приложений Azure IIS Express и другие 1 Веб-приложения и приложения API, веб-задания для фоновых задач Слоты развертывания
Функции Azure Visual Studio или CLI Функций Azure Бессерверные, управляемые событиями Слоты развертывания
Служба Azure Kubernetes Minikube, Docker, другие Не влияет Последовательное обновление
Приложения-контейнеры Azure Локальная среда выполнения контейнера Не влияет Управление редакциями
Экземпляры контейнеров Azure Локальная среда выполнения контейнера Не влияет Нет данных
Azure Red Hat OpenShift Minikube, Docker, другие Не влияет Последовательное обновление
Azure Spring Apps Visual Studio Code, Intellij, Eclipse Spring Boot, Steeltoe Последовательное обновление, сине-зеленое развертывание
Azure Service Fabric Локальный кластер узлов Гостевой исполняемый файл, модель службы, модель субъекта, контейнеры Последовательное обновление (для служб)
Пакетная служба Azure Не поддерживается Приложение командной строки Нет данных

Примечания.

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

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

Service Автомасштабирование Подсистема балансировки нагрузки Ограничениемасштабирования 3
Виртуальные машины Azure Масштабируемые наборы виртуальных машин Azure Load Balancer Образ платформы: 1000 узлов на масштабируемый набор, Пользовательский образ: 600 узлов на масштабируемый набор
Служба приложений Azure Встроенная служба Поддержка 30 экземпляров, 100 с Среда службы приложений
Функции Azure Встроенная служба Поддержка 200 экземпляров для каждого приложения-функции
Служба Azure Kubernetes Автомасштабированиеpod 1, автомасштабированиекластера 2 Azure Load Balancer или Шлюз приложений Azure 5 000 узлов при использовании SLA времени простоя
Приложения-контейнеры Azure Правиламасштабирования 4 Поддержка 5 сред в каждом регионе, 20 приложений контейнеров на среду, 30 реплик на каждое приложение контейнера
Экземпляры контейнеров Azure Не поддерживается Нет встроенной поддержки 20 групп контейнеров на подписку (ограничение по умолчанию)
Azure Red Hat OpenShift Автомасштабирование pod, автомасштабирование кластера Azure Load Balancer или Шлюз приложений Azure 60 узлов на кластер (ограничение по умолчанию)
Azure Spring Apps Встроенная служба Поддержка 500 экземпляров приложений в категории "Стандартный"
Azure Service Fabric Масштабируемые наборы виртуальных машин Azure Load Balancer 100 узлов на масштабируемый набор виртуальных машин
Пакетная служба Azure Нет данных Azure Load Balancer Ограничение на 20 ядер (ограничение по умолчанию)

Примечания.

  1. См. раздел "Автомасштабирование модулей pod".
  2. См. статью "Автоматически масштабировать кластер для удовлетворения требований приложений по Служба Azure Kubernetes".
  3. См. дополнительные сведения о подписке Azure, границах, квотах и ограничениях службы.
  4. См. раздел "Настройка правил масштабирования" в приложениях контейнеров Azure.

Availability

Service SLA Отработка отказа с несколькими агрегатами
Виртуальные машины Azure Соглашение об уровне обслуживания для виртуальных машин Диспетчер трафика Azure, Azure Front Door и кросс-регион Azure Load Balancer
Служба приложений Azure Соглашение об уровне обслуживания для службы приложений Диспетчер трафика Azure и Azure Front Door
Функции Azure Соглашение об уровне обслуживания для решения "Функции Azure" Диспетчер трафика Azure и Azure Front Door
Служба Azure Kubernetes (AKS) Соглашение об уровне обслуживания для AKS Диспетчер трафика Azure, Кластер Azure Front Door и многорегионный кластер
Приложения-контейнеры Azure Соглашение об уровне обслуживания для приложений-контейнеров Диспетчер трафика Azure и Azure Front Door
Экземпляры контейнеров Azure Соглашение об уровне обслуживания для Экземпляры контейнеров Диспетчер трафика Azure и Azure Front Door
Azure Red Hat OpenShift Соглашение об уровне обслуживания для Azure Red Hat OpenShift Диспетчер трафика Azure и Azure Front Door
Azure Spring Apps Соглашение об уровне обслуживания для Azure Spring Apps Диспетчер трафика Azure, Кластер Azure Front Door и многорегионный кластер
Azure Service Fabric Соглашение об уровне обслуживания для Azure Service Fabric Диспетчер трафика Azure, Azure Front Door и кросс-регион Azure Load Balancer
Пакетная служба Azure Соглашение об уровне обслуживания для пакетной службы Нет данных

Руководство по гарантиям обслуживания см. в статье "Основные Облачные службы — архитектура и гарантии службы Azure".

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

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

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

Service TLS Себестоимость Подходящие стили архитектуры
Виртуальные машины Azure Настраивается на виртуальной машине Windows, Linux N-уровень, большие вычислительные ресурсы (HPC)
Служба приложений Azure Поддерживается Цены на службу приложений Рабочая роль веб-очереди
Функции Azure Поддерживается Цены на функции Микрослужбы, архитектура на основе событий
Служба Azure Kubernetes (AKS) Контроллер входящего трафика Цены на AKS Микрослужбы, архитектура на основе событий
Приложения-контейнеры Azure Контроллер входящего трафика Цены на приложения-контейнеры Микрослужбы, архитектура на основе событий
Экземпляры контейнеров Azure Используйте контейнер расширения Цены на Экземпляры контейнеров Микрослужбами; автоматизация задач; пакетные задания
Azure Red Hat OpenShift Поддерживается Цены на Azure Red Hat OpenShift Микрослужбы, архитектура на основе событий
Azure Spring Apps Поддерживается Цены на Azure Spring Apps Spring Boot, микрослужбы
Azure Service Fabric Поддерживается Цены на Service Fabric Микрослужбы, архитектура на основе событий
Пакетная служба Azure Поддерживается Цены на пакетную службу Большие вычисления (HPC)

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

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

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками:

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

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

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