Изучение приложений контейнеров Azure

Завершено

Приложения контейнеров Azure позволяют запускать микрослужбы и контейнерные приложения на бессерверной платформе, работающей поверх Служба Azure Kubernetes. Примерами распространенных способов использования Azure Container Apps являются:

  • развертывание конечных точек API;
  • размещение приложений фоновой обработки;
  • обработка на основе событий;
  • выполнение микрослужб.

Приложения, созданные на основе приложений контейнеров Azure, могут динамически масштабироваться на основе http-трафика, обработки на основе событий, загрузки ЦП или памяти и любого поддерживаемого масштабировщика KEDA.

Azure Container Apps предоставляет следующие возможности:

  • Запуск нескольких редакций контейнеров и управление жизненным циклом приложения контейнера.
  • Автомасштабирование приложений на основе любого триггера масштабирования, поддерживаемого KEDA. Большинство приложений могут масштабироваться до нуля. (Приложения, масштабируемые на загрузке ЦП или памяти, не могут масштабироваться до нуля.)
  • Использование входящего трафика HTTPS без необходимости управлять другой инфраструктурой Azure.
  • Разделение трафика между несколькими версиями приложения для синего/зеленого развертываний и сценариев А/В-тестирования.
  • Использование внутреннего входящего трафика и обнаружения служб для безопасных внутренних конечных точек со встроенным обнаружением служб на основе DNS.
  • Создайте микрослужбы с помощью Dapr и получите доступ к его богатому набору API.
  • Запуск контейнеров из любого реестра, общедоступного или частного, включая Docker Hub и Реестр контейнеров Azure (ACR).
  • Используйте расширение Azure CLI, портал Azure или шаблоны ARM для управления приложениями.
  • Указание существующей виртуальной сети при создании среды для приложений-контейнеров.
  • Безопасное управление секретами непосредственно в приложении.
  • Мониторинг журналов с помощью Azure Log Analytics.

Среды Контейнеров приложений Azure

Отдельные приложения-контейнеры развертываются в одной среде Контейнеров приложений, которая выступает в качестве безопасной границы вокруг групп приложений-контейнеров. Развертываемые в одной среде приложения-контейнеры развертываются в одной виртуальной сети и записывают журналы в одну рабочую область Log Analytics. При создании среды можно предоставить существующую виртуальную сеть.

Развертывать приложения-контейнеров в одной среде рекомендуется, если необходимо, например:

  • управлять связанными службами;
  • развертывать разные приложения в одной виртуальной сети;
  • Инструментирование приложений Dapr, взаимодействующих через API вызова службы Dapr
  • предоставить приложениям общий доступ к одной и той же конфигурации Dapr;
  • обеспечить совместное использование приложениями одной рабочей области Log Analytics.

Развертывать приложения-контейнеров в разных средах рекомендуется, если вы хотите убедиться, что:

  • два приложения никогда не будут использовать одни и те же вычислительные ресурсы;
  • Два приложения Dapr не могут взаимодействовать через API вызова службы Dapr

Микрослужбы с приложениями контейнеров Azure

Архитектуры микрослужб позволяют независимо разрабатывать, обновлять, управлять версиями и масштабировать основные области функциональных возможностей в общей системе. Контейнеры приложений Azure предоставляют основу для развертывания микрослужб с помощью следующих компонентов:

  • независимое масштабирование, управление версиями и обновления;
  • Обнаружение служб
  • собственная интеграция с Dapr.

Интеграция с Dapr

При реализации системы, состоящей из микрослужб, вызовы функций распределяются по сети. Для поддержки распределенного характера микрослужб необходимо учитывать сбои, повторные попытки и случаи истечения времени ожидания. Хотя приложения-контейнеры имеют стандартные блоки для запуска микрослужб, Dapr предостваляет еще более функциональная модель программирования микрослужб. Dapr включает такие функции, как наблюдаемость, публикация и подписка и вызовы между службами с взаимным TLS, повторными попытками и другими возможностями.