Миграция в приложения контейнеров Azure
Примечание.
Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.
Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.
Эта статья относится к:✅ Basic/Standard ✅ Enterprise
Azure Spring Apps и приложения контейнеров Azure — это управляемые платформы в Azure, предназначенные для упрощения запуска приложений без управления сложной инфраструктурой. Обе службы позволяют разработчикам сосредоточиться на своих приложениях, а не беспокоиться о настройке и обслуживании базовых систем. Они интегрируются изначально с экосистемой Azure, что упрощает подключение к таким службам, как Azure Monitor, Key Vault и Azure DevOps для мониторинга, безопасности и развертывания.
Из-за прекращения использования Azure Spring Apps мы рекомендуем Azure Container Apps в качестве основной службы для миграции рабочих нагрузок, выполняемых в Azure Spring Apps. Приложения контейнеров Azure предоставляют современную, гибкую и масштабируемую основу для контейнерных приложений, гарантируя, что рабочие нагрузки будут готовы к будущему и легко интегрированы с экосистемой Azure.
В этой статье содержится подробное руководство по переносу рабочих нагрузок из Azure Spring Apps в приложения контейнеров Azure, минимизация сбоев и повышение эффективности новой платформы.
Сопоставление концепций
В следующей таблице сопоставления концепций описаны параллели между Azure Spring Apps и приложениями контейнеров Azure. Это поможет вам понять, как знакомые понятия в Azure Spring Apps преобразуют эквивалентные функции в приложениях контейнеров Azure.
Служба Azure Spring Apps | Служба "Приложения контейнеров Azure" |
---|---|
Экземпляр службы размещает и защищает границу для приложений и других ресурсов и поддерживает пользовательскую виртуальную сеть. | Среда устанавливает безопасную границу для контейнерных приложений и поддерживает пользовательские виртуальные сети. |
Приложение — это одно бизнес-приложение, которое служит дочерним ресурсом в экземпляре службы. | Приложение-контейнер — это одно бизнес-приложение, которое определяется как независимый ресурс Azure, подключающийся к управляемой среде. |
Развертывание — это версия приложения. Приложение может иметь одно рабочее развертывание и одно промежуточное развертывание. | Редакция — это неизменяемый моментальный снимок каждой версии приложения-контейнера. Приложение-контейнер может иметь одну или несколько редакций. |
Экземпляр приложения — это минимальная единица выполнения, управляемая службой. | Контейнеры (реплика) — это набор контейнеров и минимальная единица выполнения. Вы можете настроить несколько контейнеров вместе, включая боковую панель и контейнеры инициализации, для обслуживания одного приложения контейнера. |
Параметры управления доступом на основе ролей Azure
Azure Spring Apps и приложения контейнеров Azure поддерживают параметры управления доступом на основе ролей Azure (RBAC). Однако их интерфейсы отличаются из-за их различных иерархий ресурсов.
В Azure Spring Apps иерархия ресурсов сосредоточена вокруг экземпляра службы. Назначения ролей применяются к экземпляру и автоматически распространяются на дочерние ресурсы, такие как приложения и развертывания. Эта конструкция обеспечивает централизованное управление. Однако если пользователю требуется доступ к конкретному приложению или развертыванию, а не экземпляру службы, необходимо предоставить определенные разрешения для этих ресурсов.
С точки зрения API приложения контейнеров Azure проектирует типы ресурсов для сред и контейнерных приложений в виде отдельных независимых сущностей на том же иерархическом уровне. Роли можно назначать на уровне управляемой среды или отдельных приложений контейнеров. Эта структура обеспечивает точный контроль над конкретными приложениями. Например, вы можете предоставить доступ к разным приложениям контейнеров для разных команд или отдельных лиц. Эта гибкость упрощает управление ресурсами независимо в общей среде. Кроме того, он хорошо соответствует знакомому интерфейсу управления другими ресурсами Azure.
Способ миграции
Подход к миграции из Azure Spring Apps в приложения контейнеров Azure включает следующие ключевые действия.
Оценка и планирование. Оценка текущих рабочих нагрузок в Azure Spring Apps, включая зависимости, конфигурации и параметры сети.
Контейнеризация приложений. Хотя приложения контейнеров Azure поддерживают развертывание из JAR-файла или исходного кода, рекомендуется контейнеризировать приложения в контейнеры Docker, которые имеют лучшую переносимость и эффективность. Вы можете контейнеризировать приложения, создав Dockerfiles и создав образы контейнеров с помощью таких средств, как Реестр контейнеров Azure или Docker Hub. Вы также можете создавать образы контейнеров с помощью пакетов сборки локально. Сведения о том, как контейнеризировать приложение и создать образ контейнера, аналогичный тому, который выполняется в Azure Spring Apps, см. в разделе "Обзор контейнеризации".
Настройте среду приложений контейнеров Azure: подготовьте управляемую среду в приложениях контейнеров Azure, включая настройку виртуальных сетей, подсетей и любых необходимых параметров безопасности для сопоставления предыдущих конфигураций сети в Azure Spring Apps. Дополнительные сведения см. в статье "Подготовка приложений контейнеров Azure" или "Перенос пользовательских виртуальная сеть".
Создание и настройка компонентов Java в приложениях контейнеров Azure: включение и настройка Сервера Eureka, сервера конфигурации, шлюза и управляемого администратора. Эти компоненты важны для оркестрации микрослужб и управления в приложениях Spring. Убедитесь, что они настроены правильно для простого перехода.
Если вы используете план Enterprise, ознакомьтесь со следующими статьями:
- Реестр служб Tanzu
- Служба конфигурации приложений для tanzu или сервера конфигурации
- Spring Cloud Gateway для Tanzu
- Режим реального времени приложения
- Портал API для Tanzu
Если вы используете стандартный план, ознакомьтесь со следующими статьями:
Развертывание контейнеров: развертывание контейнерных приложений в среде приложений контейнеров Azure. Настройте редакции приложений, политики масштабирования и конфигурации сети в соответствии с вашими требованиями. Дополнительные сведения см. в разделе "Обзор миграции приложений".
Мониторинг. Во время миграции непрерывно отслеживайте производительность приложения с помощью Azure Monitor и настраивайте конфигурации при необходимости для оптимизации, например настройку параметров масштабирования или выделения ресурсов. Дополнительные сведения см. в разделе журналов и метрик в приложениях контейнеров Azure.
Тестирование и проверка. Выполните тщательные тесты, чтобы убедиться, что контейнерные приложения работают должным образом в новой среде. Проверьте сетевое подключение, масштабирование и интеграцию с другими службами.
Средства клиентской и автоматизации. Чтобы упростить ежедневные задачи разработки и эксплуатации, воспользуйтесь клиентскими инструментами и решениями автоматизации. К этим средствам относятся Azure CLI, Azure DevOps, GitHub Actions и расширения в клиентских средствах или идентификаторах удостоверений. Эти средства помогут автоматизировать развертывания, отслеживать производительность и эффективно управлять ресурсами, уменьшая усилия вручную и повышая гибкость операций. Дополнительные сведения об популярных инструментах см. в статье "Клиенты" или средства автоматизации для приложений контейнеров Azure.
Учебник
Мы предоставляем руководство, чтобы продемонстрировать комплексный опыт работы с приложением ACME Fitness Store в приложениях контейнеров Azure. Дополнительные сведения см . в статье acme-fitness-store/azure-container-apps. В этом руководстве представлены практические рекомендации, помогающие быстро получить практическую информацию и уверенность в развертывании контейнерных приложений на платформе и управлении ими.