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 |
Примечания.
- Если вы используете план потребления. Для плана Служба приложений функции выполняются на виртуальных машинах, выделенных для плана Служба приложений. См. раздел "Выбор правильного плана обслуживания" для Функции Azure.
- Соглашение об уровне обслуживания (SLA) с двумя или более экземплярами.
- Рекомендуется использовать в рабочей среде.
- По завершении задания может сводиться к нулю.
- Три для основных узлов и три для рабочих узлов.
- При использовании Устойчивые функции.
Сеть
Service | Интеграция виртуальной сети | Гибридное подключение |
---|---|---|
Виртуальные машины Azure | Поддерживается | Поддерживается |
Служба приложений Azure | Поддерживается 1 | Поддерживается 2 |
Функции Azure | Поддерживается 1 | Поддерживается 3 |
Служба Azure Kubernetes | Поддерживается | Поддерживается |
Приложения-контейнеры Azure | Поддерживается | Поддерживается |
Экземпляры контейнеров Azure | Поддерживается | Поддерживается |
Azure Red Hat OpenShift | Поддерживается | Поддерживается |
Azure Spring Apps | Поддерживается | Поддерживается |
Azure Service Fabric | Поддерживается | Поддерживается |
Пакетная служба Azure | Поддерживается | Поддерживается |
Примечания.
- Требуется Среда службы приложений.
- Используйте гибридные подключения к службе приложений Azure.
- Требуется план Служба приложений или план Функции 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 | Не поддерживается | Приложение командной строки | Нет данных |
Примечания.
- К ним относятся 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 ядер (ограничение по умолчанию) |
Примечания.
- См. раздел "Автомасштабирование модулей pod".
- См. статью "Автоматически масштабировать кластер для удовлетворения требований приложений по Служба Azure Kubernetes".
- См. дополнительные сведения о подписке Azure, границах, квотах и ограничениях службы.
- См. раздел "Настройка правил масштабирования" в приложениях контейнеров 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".
Безопасность
Просмотрите и изучите доступные элементы управления безопасностью и видимость для каждой службы:
- Виртуальная машина Windows Azure
- Виртуальная машина Azure Linux
- Служба приложений Azure
- Функции Azure
- Служба Azure Kubernetes
- Экземпляры контейнеров Azure
- Azure Spring Apps
- Azure Service Fabric
- Пакетная служба Azure
Другие критерии
Рассмотрите ограничения и затраты
Наряду с предыдущими таблицами сравнения выполните более подробную оценку следующих аспектов службы кандидатов:
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками:
- Ayobami Ayodeji | Старший менеджер по программам
- Jelle Druyts | Инженер основной службы
- Мартин Gjoшевски | Старший инженер службы
- Фил Хуан | Старший архитектор облачных решений
- Джули Нг | Старший инженер службы
- Паоло Сальватори | Инженер основной службы
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
Основные Облачные службы — параметры вычислений Azure. В этом модуле Learn описывается, как вычислительные службы могут решать распространенные бизнес-потребности.