Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Существует множество вариантов создания и развертывания облачных и контейнерных приложений в Azure, которые могут использовать команды разработчиков. В этой статье показано, какие сценарии и варианты использования лучше всего подходят для приложений контейнеров Azure и как они сравниваются с другими вариантами контейнеров в Azure, включая:
- Приложения контейнеров Azure
- Служба приложений Azure
- Экземпляры контейнеров Azure
- Служба Azure Kubernetes
- Функции Azure
- Azure Spring Apps
- Azure Red Hat OpenShift
Нет идеального решения для каждого варианта использования и каждой команды разработчиков. Ниже в качестве отправной точки приведены общее руководство и рекомендации, которые помогут найти оптимальное решение для вашей команды, которое соответствует вашим требованиям.
Сравнение вариантов контейнеров
Приложения-контейнеры Azure
Приложения контейнеров Azure позволяют создавать бессерверные микрослужбы и задания на основе контейнеров. Отличительные черты контейнерных приложений:
- Оптимизировано для запуска контейнеров общего назначения, особенно для приложений, охватывающих множество микрослужб, развернутых в контейнерах.
- основаны на платформе Kubernetes и технологиях с открытым кодом, таких как Dapr, KEDA и envoy;
- поддерживают приложения и микрослужбы в стиле Kubernetes с такими функциями, как обнаружение служб и разделение трафика;
- обеспечивают управляемую событиями архитектуру приложений за счет поддержки масштабирования на основе трафика и извлечения данных из источников событий, таких как очереди, включая масштабирование до нуля;
- Поддерживает выполнение заданий по запросу, по расписанию и управляемых событиями.
Приложения-контейнеры Azure не предоставляют прямой доступ к базовым API Kubernetes. Если требуется доступ к интерфейсам API и уровню управления Kubernetes, то следует использовать Службу Azure Kubernetes. Если вы хотите создавать приложения, похожие на Kubernetes, и вам не нужен прямой доступ ко всем нативным API Kubernetes и управлению кластером, то Container Apps предоставляют полностью управляемую среду, основанную на лучших практиках. По этим причинам многие команды предпочитают создавать микрослужбы контейнеров с помощью приложений контейнеров Azure.
Чтобы приступить к созданию приложения-контейнера, воспользуйтесь этим кратким руководством.
Служба приложений Azure
Служба приложений Azure предоставляет полностью управляемый хостинг для веб-программ, включая веб-сайты и веб-API. Эти веб-приложения можно развернуть с помощью кода или контейнеров. Служба приложений Azure оптимизирована для веб-приложений. Служба приложений Azure интегрируется с другими службами Azure, включая приложения-контейнеры Azure и Функции Azure. Служба приложений Azure — это идеальное решение для создания веб-приложений.
Экземпляры контейнеров Azure
Экземпляры контейнеров Azure (ACI) предоставляет единый модуль изолированных контейнеров Hyper-V по запросу. Его можно рассматривать как "стандартный блок" более низкого уровня по сравнению с приложениями-контейнерами. Такие понятия, как масштабирование, балансировка нагрузки и сертификаты, не предоставляются контейнерами ACI. Например, чтобы увеличить число экземпляров контейнера до пяти, следует создать пять отдельных экземпляров контейнера. Приложения Azure Container Apps предоставляют множество специфичных для приложений концепций поверх контейнеров, включая сертификаты, ревизии, масштабирование и среды. Пользователи часто взаимодействуют с экземплярами контейнеров в Azure через другие службы. Например, служба Azure Kubernetes может накладывать оркестрацию и масштабирование поверх ACI с помощью виртуальных узлов. Если вам нужен менее строго определённый модуль, который не соответствует сценариям, для которых оптимизированы Azure Container Apps, оптимальным выбором будут Azure Container Instances.
Служба Azure Kubernetes
Служба Azure Kubernetes (AKS) предоставляет полностью управляемый параметр Kubernetes в Azure. Он поддерживает прямой доступ к API Kubernetes и выполняет любую рабочую нагрузку Kubernetes. Весь кластер размещается в вашей подписке, включая конфигурации и операции кластера, находящиеся в пределах вашего контроля и ответственности. Служба Azure Kubernetes является идеальным вариантом для команд, которым требуется полностью управляемая версия Kubernetes в Azure.
Функции Azure
Функции Azure — это бессерверное решение "Функции как услуга" (FaaS). Оно оптимизировано для выполнения приложений, управляемых событиями, с помощью модели программирования функций. Они во многом схожи с приложениями-контейнерами Azure с точки зрения масштабирования и интеграции, но оптимизированы для временных функций, развернутых в виде кода или контейнеров. Модель программирования Функций Azure обеспечивает преимущества производительности для команд разработчиков, которым требуется активация выполнения функций по событиям и привязка к другим источникам данных. Для создания функций в стиле FaaS идеальным вариантом являются Функции Azure. Модель программирования Функций Azure доступна в виде базового образа контейнера. Это дает возможность перенести ее на другие платформы вычислений на основе контейнеров, позволяя командам многократно использовать код при изменении требований к среде.
Azure Spring Apps
Azure Spring Apps — это полностью управляемая служба для разработчиков Spring. Если вы хотите запустить Spring Boot, Spring Cloud или любые другие приложения Spring в Azure, Azure Spring Apps является идеальным вариантом. Эта служба управляет инфраструктурой приложений Spring, благодаря чему разработчики могут сосредоточиться на коде. Azure Spring Apps обеспечивает управление жизненным циклом за счет комплексного мониторинга и диагностики, управления конфигурацией, обнаружения служб, интеграции CI/CD, выполнения сине-зеленых развертываний и прочего.
Azure Red Hat OpenShift
Azure Red Hat OpenShift — это интегрированный продукт с Red Hat и Корпорацией Майкрософт, совместно разработанный, управляемый и поддерживаемый. Эта совместная работа обеспечивает интегрированный продукт и опыт поддержки для работы с OpenShift на платформе Kubernetes. С помощью Azure Red Hat OpenShift команды могут выбирать собственный реестр, сеть, хранилище и решения CI/CD. Кроме того, они могут использовать встроенные решения для автоматизированного управления исходным кодом, сборок контейнеров и приложений, развертываний, масштабирования, управления работоспособностью и многое другое из OpenShift. Если ваша команда или организация использует OpenShift, Azure Red Hat OpenShift станет оптимальным вариантом.