Выбор службы вычислений Azure
Azure предлагает множество способов размещения кода приложения. The term compute refers to the hosting model for the resources that your application runs on. Эта статья поможет выбрать службу вычислений для приложения.
Выбор службы кандидатов
Используйте следующую блок-схему, чтобы выбрать кандидатную службу вычислений.
Скачайте файл 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
- Если вы используете план потребления. Для плана Служба приложений функции выполняются на виртуальных машинах, выделенных для плана Служба приложений. См. раздел "Выбор правильного плана обслуживания" для Функции Azure.
- Соглашение об уровне обслуживания (SLA) с двумя или более экземплярами.
- Рекомендуется использовать в рабочей среде.
- По завершении задания может сводиться к нулю.
- Три для основных узлов и три для рабочих узлов.
- При использовании Устойчивые функции.
- Требуется минимальное количество трех узлов.
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
- Требуется среда службы приложений или выделенная ценовая категория вычислений.
- Используйте гибридные подключения к службе приложений Azure.
- Требуется план Служба приложений или план Функции 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
- К ним относятся 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
- См. раздел "Автомасштабирование модулей pod".
- См. статью "Автоматически масштабировать кластер для удовлетворения требований приложений по Служба Azure Kubernetes".
- См. дополнительные сведения о подписке Azure, границах, квотах и ограничениях службы.
- См. раздел "Настройка правил масштабирования" в приложениях контейнеров Azure.
- см. масштабированиерешения Azure VMware.
- см. 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
Просмотрите и изучите доступные элементы управления безопасностью и видимость для каждой службы:
- Виртуальная машина Windows Azure
- Виртуальная машина Azure Linux
- Служба приложений Azure
- Azure Functions
- Служба Azure Kubernetes
- Экземпляры контейнеров Azure
- Приложения контейнеров Azure
- Azure Service Fabric
- Azure Batch
- решения Azure VMware
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
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками:
- Ayobami Ayodeji | Senior Program Manager
- Jelle Druyts | Principal Service Engineer
- Martin Gjoshevski | Senior Service Engineer
- Phil Huang | Senior Cloud Solution Architect
- Julie Ng | Senior Service Engineer
- Paolo Salvatori | Principal Service Engineer
Чтобы просмотреть неопубликованные профили LinkedIn, войдите в LinkedIn.
Next steps
Основные Облачные службы — параметры вычислений Azure. В этом модуле Learn описывается, как вычислительные службы могут решать распространенные бизнес-потребности.