Идеи решения
В этой статье описывается идея решения. Ваш архитектор облака может использовать это руководство, чтобы визуализировать основные компоненты для типичной реализации этой архитектуры. Используйте эту статью в качестве отправной точки для разработки хорошо спроектированного решения, которое соответствует конкретным требованиям рабочей нагрузки.
Это решение переносит существующие веб-приложения в контейнеры, развернутые в Служба приложений, что позволяет сосредоточиться на создании контейнеров, не беспокоясь об управлении оркестрацией контейнеров.
Архитектура
Скачайте файл Visio для этой архитектуры.
Поток данных
- Разработчик преобразует существующее веб-приложение в контейнер.
- Разработчик публикует образ контейнера в:
- Частный реестр или Центр Docker.
- Или, Реестр контейнеров Azure.
- Служба приложений извлекает изображение с помощью:
- Учетные данные для частного реестра или Центра Docker, если они используются.
- Или управляемое удостоверение, которое использует субъект безопасности Microsoft Entra для доступа к Реестр контейнеров Azure.
- Соединители служб для доступа к другим ресурсам Azure.
- Разработчик отправляет новый образ в реестр контейнеров, который активирует Служба приложений обновления при включении непрерывного развертывания.
Компоненты
Веб-приложение для контейнеров: с помощью Служба приложений можно развертывать и запускать контейнерные веб-приложения в Windows и Linux. Веб-приложение для контейнеров позволяет разработчикам легко использовать полностью управляемую платформу, но которые также хотят, чтобы один развернутый артефакт содержал приложение и все его зависимости. Другой целевой сценарий — это разработчики, которые хотят работать с пользовательской платформой или версией за пределами стандартных версий, встроенных в платформу службы приложение Azure. Контейнерные веб-приложения в службе приложение Azure могут масштабироваться по мере необходимости и использовать оптимизированные рабочие процессы CI/CD с Помощью Docker Hub, Реестр контейнеров Azure и GitHub.
Реестр контейнеров Azure: реестр образов Docker и Open Container Initiative (OCI) с поддержкой всех артефактов OCI. Используйте образы контейнеров в службах Azure, таких как Служба приложений, Машинное обучение и пакетная служба. Например, при настройке веб-приложения для контейнеров для веб-приложения можно указать образ контейнера из Реестр контейнеров Azure.
Azure Cosmos DB: полностью управляемая служба базы данных NoSQL для создания и модернизации масштабируемых высокопроизводительных приложений. Azure Cosmos DB интегрирован с ключевыми службами Azure, включая Функции Azure, Центр Интернета вещей, AKS (Служба Azure Kubernetes), Служба приложений и многое другое. Вы можете выбрать несколько API базы данных, включая собственный Azure Cosmos DB для NoSQL, Azure Cosmos DB для MongoDB, Azure Cosmos DB для Apache Cassandra, Azure Cosmos DB для Apache Gremlin и Azure Cosmos DB для таблицы.
База данных SQL Azure: полностью управляемая реляционная база данных со встроенной аналитикой. База данных SQL Azure помогает создавать приложения локально или в облаке на популярных платформах и платформах с поддержкой драйверов для наиболее распространенных языков. База данных SQL позволяет упростить разработку с помощью собственной поддержки веб-сайтов, работающих в службе приложение Azure.
служба хранилища Azure: служба хранилища Azure предлагает устойчивое, высокодоступное, масштабируемое облачное хранилище и включает объект, файл, диск, очередь и хранилище таблиц. Служба хранилища Azure включает службы для объектов, блоков и файлового хранилища для удовлетворения требований веб-сайта. Например, веб-сайты могут легко использовать Хранилище BLOB-объектов Azure для масштабируемого и безопасного хранилища блоков для носителей веб-сайтов, таких как фотографии и видео.
Azure Monitor: Application Insights, обеспечивает мониторинг работоспособности и производительности, а также диагностика. Azure Monitor можно использовать с веб-приложением для контейнеров (Служба приложений) для мониторинга метрик веб-сайтов, таких как количество подключений и количество запросов, в результате чего коды состояния HTTP.
Соединитель служб Azure: соединитель служб помогает подключать службы вычислений Azure к другим службам резервного копирования. Например, используйте соединитель службы между службой приложение Azure и База данных Azure для MySQL или PostgreSQL, служба хранилища Azure и Azure Key Vault. Полный список поддерживаемых служб см. в разделе "Службы" в соединителе служб.
Подробности сценария
Легко переносить существующие веб-приложения в контейнеры и запускать контейнерные веб-приложения в веб-приложении для контейнеров в службе приложение Azure. Веб-приложение для контейнеров позволяет сосредоточиться на создании контейнеров, не беспокоясь об управлении и обслуживании базового оркестратора контейнеров. При создании веб-приложений веб-приложение для контейнеров является хорошим вариантом для выполнения первых шагов с контейнерами. Контейнеры могут легко интегрировать другие ресурсы Azure, такие как службы хранилища и базы данных.
Интеграция существующих веб-приложений с ресурсами Azure также позволяет воспользоваться преимуществами бессерверных подключений для служб Azure. Бессерверные подключения — это не зависящий от языка компонент, охватывающий несколько служб Azure. При использовании бессерверных подключений веб-приложения подключаются к службам Azure без необходимости смены паролей. Все, что вам нужно, — новый код не требуется.
Потенциальные варианты использования
Эта идея решения идеально подходит для переноса текущих веб-приложений в контейнеры, выполняемые в Azure. Эта идея решения может использоваться для создания веб-сайта при следующем применении:
Использует существующий интерфейс программирования, используемый для создания веб-сайтов, развернутых в коде, для создания развернутых контейнеров веб-сайтов. Поднимите и переместите существующие веб-приложения в контейнеры на Служба приложений.
Упрощенная разработка и развертывание с помощью таких средств, как Visual Studio, Visual Studio Code, Azure CLI и Azure Cloud Shell.
Переносимость между различными средами от разработки до рабочих и различных облаков. Вы можете протестировать локально на другой платформе, отличной от того, что развертывается для рабочей среды.
Масштабируемость в Служба приложений означает, что можно масштабировать количество рабочих ролей, используемых по требованию.
Модульность для будущих веб-сайтов работает либо в Служба приложений, либо в других службах, таких как приложения контейнеров Azure и Служба Azure Kubernetes. Веб-приложение для контейнеров может быть хорошим шагом для перемещения в контейнеры.
Контейнер, развернутый в веб-приложении для контейнеров, готов к непрерывной интеграции и непрерывному развертыванию (CI/CD). Возможности CI/CD позволяют быстрее отправлять обновления.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Марк Гельормино | Разработчик содержимого
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
- Развертывание и запуск контейнерного веб-приложения с помощью службы приложение Azure
- Управление образами контейнеров в Реестр контейнеров Azure
- Обзор веб-приложения для контейнеров и службы приложение Azure в Linux
- Сравнение приложений контейнеров с другими параметрами контейнера Azure
- Бессерверные подключения для служб Azure
Примеры развертываний языков контейнеров в Служба приложений:
- Развертывание контейнерного веб-приложения Python в службе приложение Azure
- Развертывание Express.js с помощью Visual Studio Code в службе приложение Azure
- Развертывание контейнера ASP.NET Core в службе приложение Azure с помощью Visual Studio
Связанные ресурсы
Связанные архитектурные рекомендации: