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


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

Служба приложений Azure
Служба Azure Kubernetes (AKS)
Виртуальные машины Azure
Приложения-контейнеры Azure
Функции Azure

Azure предлагает множество способов размещения кода приложения. The term compute refers to the hosting model for the resources that your application runs on. Эта статья поможет выбрать службу вычислений для приложения.

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

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

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

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

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

  • Лифт и смена: стратегия миграции рабочей нагрузки в облако без изменения приложения или внесения изменений в код. It's also called rehosting. Дополнительные сведения см. в центре миграции и модернизации Azure.
  • Cloud optimized: A strategy for migrating to the cloud by refactoring an application to take advantage of cloud-native features and capabilities.

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

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

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

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

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

  • Azure Виртуальные машины. Служба, в которой развертываются виртуальные машины Azure и управляете ими в виртуальной сети Azure.
  • приложение Azure служба: управляемая служба для размещения веб-приложений, серверных серверов мобильных приложений, API RESTful или автоматизированных бизнес-процессов.
  • Azure Functions: A service that provides managed functions that run based on a variety of trigger types for event-driven applications.
  • Служба Azure Kubernetes (AKS): управляемая служба Kubernetes для запуска контейнерных приложений.
  • Приложения контейнеров Azure: управляемая служба, основанная на Kubernetes, которая упрощает развертывание контейнерных приложений в бессерверной среде.
  • экземпляры контейнеров Azure. Эта служба — это быстрый и простой способ запуска одного контейнера или группы контейнеров в Azure. Экземпляры контейнеров Azure не обеспечивают полную оркестрацию контейнеров, но их можно реализовать, не подготавливая виртуальные машины или применяя более высокий уровень службы.
  • Azure Red Hat OpenShift: полностью управляемый кластер OpenShift для запуска контейнеров в рабочей среде с Kubernetes.
  • Azure Service Fabric: платформа распределенных систем, которая может выполняться во многих средах, включая Azure или локальную среду.
  • Azure Batch: A managed service for running large-scale parallel and high-performance computing (HPC) applications.
  • решение Azure VMware: управляемая служба для запуска рабочих нагрузок VMware в Azure.

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

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

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

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

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

    Note

    Azure Functions is an Azure serverless compute offering. Чтобы узнать, как эта служба сравнивается с другими бессерверными предложениями Azure, такими как Logic Apps, которые предоставляют бессерверные рабочие процессы, см. статью "Выбор правильной интеграции и автоматизации служб в Azure".

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

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

Service Application composition Density Минимальное количество узлов State management Web hosting
Виртуальные машины Azure Agnostic Agnostic 1 2 Без отслеживания или с отслеживанием состояния Agnostic
Служба приложений Azure Applications, containers Несколько приложений на экземпляр с помощью плана Служба приложений 1 Stateless Built in
Azure Functions Functions, containers Serverless 1 Serverless 1 Stateless or stateful 6 Not applicable
Служба Azure Kubernetes Containers Несколько контейнеров на каждом узле 3 3 Без отслеживания или с отслеживанием состояния Agnostic
Приложения-контейнеры Azure Containers Serverless Serverless Без отслеживания или с отслеживанием состояния Agnostic
Экземпляры контейнеров Azure Containers Нет выделенных экземпляров Нет выделенных узлов Stateless Agnostic
Azure Red Hat OpenShift Containers Несколько контейнеров на каждом узле 6 5 Без отслеживания или с отслеживанием состояния Agnostic
Azure Service Fabric Службы, гостевые исполняемые файлы, контейнеры Несколько служб на каждой виртуальной машине 5 3 Без отслеживания или с отслеживанием состояния Agnostic
Azure Batch Scheduled jobs Несколько приложений на каждой виртуальной машине 1 4 Stateless No
Решение Azure VMware Agnostic Agnostic 3 7 Без отслеживания или с отслеживанием состояния Agnostic

Notes

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

Networking

Service Интеграция виртуальной сети Hybrid connectivity
Виртуальные машины Azure Supported Supported
Служба приложений Azure Supported 1 Supported 2
Azure Functions Supported 1 Supported 3
Служба Azure Kubernetes Supported Supported
Приложения-контейнеры Azure Supported Supported
Экземпляры контейнеров Azure Supported Supported
Azure Red Hat OpenShift Supported Supported
Azure Service Fabric Supported Supported
Azure Batch Supported Supported
Решение Azure VMware Supported Supported

Notes

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

DevOps

Service Local debugging Programming model Application update
Виртуальные машины Azure Agnostic Agnostic Нет встроенной поддержки
Служба приложений Azure IIS Express, others 1 Веб-приложения и приложения API, веб-задания для фоновых задач Deployment slots
Azure Functions Visual Studio или CLI Функций Azure Serverless, event-driven Deployment slots
Служба Azure Kubernetes Minikube, Docker, другие Agnostic Rolling update
Приложения-контейнеры Azure Локальная среда выполнения контейнера Agnostic Revision management
Экземпляры контейнеров Azure Локальная среда выполнения контейнера Agnostic Not applicable
Azure Red Hat OpenShift Minikube, Docker, другие Agnostic Rolling update
Azure Service Fabric Локальный кластер узлов Гостевой исполняемый файл, модель службы, модель субъекта, контейнеры Последовательное обновление (для служб)
Azure Batch Not supported Command-line application Not applicable
Решение Azure VMware Agnostic Agnostic Нет встроенной поддержки

Notes

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

Scalability

Service Autoscaling Load balancer Scale limit3
Виртуальные машины Azure Масштабируемые наборы виртуальных машин Azure Load Balancer (балансировщик нагрузки Azure) Образ платформы: 1000 узлов на масштабируемый набор, Пользовательский образ: 600 узлов на масштабируемый набор
Служба приложений Azure Built-in service Integrated 30 экземпляров, 100 с Среда службы приложений
Azure Functions Built-in service Integrated 200 экземпляров для каждого приложения-функции
Служба Azure Kubernetes Pod autoscaling1, cluster autoscaling2 Azure Load Balancer или Шлюз приложений Azure 5,000 nodes when using Uptime SLA
Приложения-контейнеры Azure Scaling rules4 Integrated 15 сред на регион (ограничение по умолчанию), неограниченное количество приложений контейнеров для каждой среды и реплик для каждого приложения-контейнера (в зависимости от доступных ядер)
Экземпляры контейнеров Azure Not supported Нет встроенной поддержки 100 групп контейнеров на подписку (ограничение по умолчанию)
Azure Red Hat OpenShift Автомасштабирование pod, автомасштабирование кластера Azure Load Balancer или Шлюз приложений Azure 250 узлов на кластер (ограничение по умолчанию)
Azure Service Fabric Масштабируемые наборы виртуальных машин Azure Load Balancer (балансировщик нагрузки Azure) 100 узлов на масштабируемый набор виртуальных машин
Azure Batch Not applicable Azure Load Balancer (балансировщик нагрузки Azure) Основное ограничение в 900 выделенных и 100 низкоприоритетных (ограничение по умолчанию)
Решение Azure VMware Built-in service5 Integrated6 Для каждого VMware vCenter можно управлять от 3 до 16 узлов VMware ESXi

Notes

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

Availability

Service Параметр отработки отказа с несколькими агрегатами
Виртуальные машины Azure Диспетчер трафика Azure, Azure Front Door и кросс-регион Azure Load Balancer
Служба приложений Azure Диспетчер трафика Azure и Azure Front Door
Azure Functions Диспетчер трафика Azure и Azure Front Door
Служба Azure Kubernetes (AKS) Диспетчер трафика Azure, Кластер Azure Front Door и многорегионный кластер
Приложения-контейнеры Azure Диспетчер трафика Azure и Azure Front Door
Экземпляры контейнеров Azure Диспетчер трафика Azure и Azure Front Door
Azure Red Hat OpenShift Диспетчер трафика Azure и Azure Front Door
Azure Service Fabric Диспетчер трафика Azure, Azure Front Door и кросс-регион Azure Load Balancer
Azure Batch Not applicable
Решение Azure VMware Not applicable

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

Security

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

Other criteria

Service TLS Cost Подходящие стили архитектуры
Виртуальные машины Azure Настраивается на виртуальной машине Windows, Linux N-tier, big compute (HPC)
Служба приложений Azure Supported Цены на службу приложений Web-queue-worker
Azure Functions Supported Functions pricing Microservices, event-driven architecture
Служба Azure Kubernetes (AKS) Ingress controller AKS pricing Microservices, event-driven architecture
Приложения-контейнеры Azure Ingress controller Цены на приложения-контейнеры Microservices, event-driven architecture
Экземпляры контейнеров Azure Use sidecar container Цены на Экземпляры контейнеров Microservices, task automation, batch jobs
Azure Red Hat OpenShift Supported Цены на Azure Red Hat OpenShift Microservices, event-driven architecture
Azure Service Fabric Supported Цены на Service Fabric Microservices, event-driven architecture
Azure Batch Supported Batch pricing Big compute (HPC)
Решение Azure VMware Настраивается на виртуальной машине цен на решение Azure VMware Рабочая нагрузка виртуальной машины на основе формата VMware

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

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

Contributors

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

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

Next steps

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