Поделиться через


Размещение приложений в Azure

Эта статья является частью трех в серии семи статей, которые помогают разработчикам приступить к работе с Azure.

Azure предлагает несколько способов размещения приложения. В этой статье представлены службы, соответствующие вашим требованиям. Это не является предписательным. Подбирайте и комбинируйте услуги под ваши нужды. Большинство рабочих сред объединяют службы в соответствии с потребностями бизнеса и организации.

Выбор служб часто сводится к двум соображениям:

  • Предпочитаете ли вы простоту или контроль?
  • Предпочитаете ли вы использовать облако-нативные (контейнеры) или Azure-нативные (специализированные средства и интеграции)?

В следующем видео объясняется первое соображение: простота против контроля.

Простота и управление

Службы размещения Azure связаны с двумя ключевыми соображениями:

  • Простота и управление
    • Простые платформы размещения нуждаются в меньшей конфигурации и управлении, но дают вам меньше контроля над базовой инфраструктурой.
    • Сложные платформы размещения нуждаются в большей конфигурации и управлении, но дают вам больше контроля над базовой инфраструктурой.
  • Облачная и собственная среда Azure
    • Облачное нативное приложение может рассматриваться как облачная переносимость. Используйте рабочие нагрузки с открытым исходным кодом, такие как контейнеры и технологии, такие как Dapr, чтобы развернуть приложения, которые вы создаете в любом поставщике облачных служб.
    • Собственный код Azure ориентирован на средства и технологии Azure для управления инфраструктурой. К этим службам относятся контейнеры, code-first, low-code и средства инфраструктуры, поддерживающие интеграцию с другими службами Azure.

Упрощенное размещение

Управление упрощёнными решениями полностью осуществляется Azure. Вы несете ответственность за настройку кода и среды. Azure управляет базовой средой выполнения и инфраструктурой, включая обновления и исправления. Упрощенное размещение — это собственный подход Azure.

Сбалансированное размещение

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

Управляемое размещение

Управляемые решения размещения обеспечивают полный контроль над базовой инфраструктурой. Вы несете ответственность за обновления, исправления, код, ресурсы и конфигурацию среды. Управляемое размещение — это облачный подход.

Размещение исходного кода

Для разработчиков, которые хотят начать новую разработку, используйте следующую диаграмму, чтобы найти предлагаемое решение для размещения.

Схема, показывающая отсутствие кода, низкий код в первом поле, код во втором поле и контейнере в третьем поле с рекомендуемыми службами для каждого поля.

Нет кода или низкого уровня кода

Azure поддерживает решения без кода в рамках своего облачного подхода.

  • Logic Apps: используйте визуальный конструктор с предварительно созданными операциями для разработки рабочего процесса для корпоративных и бизнес-сценариев.
  • Power Automate, такие как приложения Power Automate: используйте, когда необходимо автоматизировать бизнес-процессы и рабочие процессы в организации Microsoft 365.

Код и контейнер

Решения для размещения с низким кодом предназначены для обеспечения функциональности кода без необходимости управлять инфраструктурой приложений.

Code-first решения размещают код, чтобы вы могли разворачивать его непосредственно в службе.

Решения размещения для первого контейнера предназначены для размещения контейнеров. Служба предоставляет параметры и функции конфигурации для конкретного контейнера. Вы несете ответственность за вычислительные ресурсы, используемые внутри контейнера. Службы, которые размещают контейнеры, перемещаются из управляемого управления в полную ответственность, поэтому вы принимаете только нужный объем управления контейнерами.

Размещение оркестрации, ориентированного на Kubernetes, включает:

Service Фокус Использование
Служба Azure Kubernetes Ориентированная на облако Используется для кластеров Kubernetes с декларативным подходом с помощью файлов конфигурации и внешних артефактов.
Azure Service Fabric Родной для Azure Используйте императивный подход к развертыванию микрослужб в кластерах компьютеров. Она предоставляет модель программирования, которая позволяет разработчикам писать код, описывающий требуемое состояние системы, и среда выполнения Service Fabric заботится о том, чтобы система соответствовала этому состоянию.

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

Service Использование
Служба приложений Azure Полный комплекс услуг веб-хостинга
Azure Spring Apps Приложения Spring Boot
Приложения контейнеров Azure Размещение бессерверных контейнеров
Экземпляры контейнеров Azure Простое размещение одного контейнера

Azure предоставляет реестр контейнеров для хранения образов контейнеров и управления ими или использования стороннего реестра контейнеров.

Service Использование
Реестр контейнеров Azure; Используйте при сборке и размещении собственных образов контейнеров, которые можно активировать с фиксациями исходного кода и обновлениями базового образа.

Бессерверные приложения

Бессерверные решения размещения предназначены для запуска кода без отслеживания состояния, который включает ценовую категорию на основе потребления, которая масштабируется до нуля, если не используется.

Service Использование
Приложения контейнеров Azure Размещение контейнеров
Функции Azure Размещение кода или контейнера

Микрослужбы

Решения для размещения микросервисов запускают небольшие, независимые службы, которые работают вместе для формирования более крупного приложения. Микрослужбы обычно развертываются как контейнеры.

Service Использование
Приложения контейнеров Azure Используется для бессерверных контейнерных микрослужб.
Функции Azure Используется для бессерверного кода или контейнерных микрослужб.

Облачный пограничный сервер

Cloud edge — это термин, который используется для обозначения того, расположена ли облачная служба таким образом, чтобы приносить пользу пользователю (клиенту) или приложению (серверу).

Вычислительные ресурсы клиента

Вычислительные ресурсы клиента выполняются на клиенте за пределами Azure. Клиентские вычисления обычно используются для отрисовки на стороне клиента и обработки на стороне клиента, таких как браузерные или мобильные приложения.

Service Использование
Статические веб-приложения Azure Используйте статические веб-приложения, использующие отрисовку на стороне клиента, например React, Angular, Svelte, Vue и Blazor.

Доступность клиента

Service Использование
Azure Front Door Используйте для всех приложений, подключенных к Интернету, чтобы обеспечить глобальную кэшированную и безопасную сеть для статических и динамических ресурсов, включая защиту от атак DDoS, сквозное шифрование TLS, брандмауэры приложений и геофильтрация.

Вычислительные ресурсы сервера

Вычислительные ресурсы сервера — это файлы, обрабатываемые сервером перед отправкой клиенту. Динамические ресурсы разрабатываются с помощью серверных вычислений сервера, при необходимости интегрированных с другими службами Azure.

Service Использование
Служба приложений Azure Используйте эту службу для типичного веб-размещения. Это поддерживает широкий набор конечных точек API функций, приложений полного стека и фоновых задач. Эта служба поставляется со многими средами выполнения языка программирования и возможностью предоставления собственного стека, языка или рабочей нагрузки из контейнера.
Функции Azure Используйте эту службу для предоставления собственного кода на поддерживаемых языках для конечных точек HTTP или триггеров на основе событий из служб Azure.
Azure Spring Apps Используется для развертывания приложений Spring Boot без изменений кода.
Приложения контейнеров Azure Используется для размещения управляемых микрослужб и контейнерных приложений на бессерверной платформе.
Экземпляры контейнеров Azure Используйте это для простых сценариев контейнеров, которые не нуждаются в оркестрации контейнеров.
Служба Azure Kubernetes Используйте эту службу, если требуется кластер Kubernetes. Уровень управления для управления кластером создается и предоставляется без дополнительных затрат.

Управление конечными точками сервера

Управление конечными точками сервера позволяет управлять конечными точками сервера через шлюз, который добавляет управление версиями, кэширование, преобразование, политики API и мониторинг.

Service Использование
Управление API Azure Эта служба используется при продуктизации API REST, OpenAPI и GraphQL с помощью шлюза API, включая квоты и ограничения скорости, проверку подлинности и авторизацию, преобразование и кэшированные ответы.
Шлюз приложений Azure Используется для региональной балансировки нагрузки (уровень 7 OSI). Его можно использовать для маршрутизации трафика на основе URL-пути или заголовков узлов, а также поддерживает разгрузку SSL, сходство сеансов на основе файлов cookie и возможности Брандмауэр веб-приложений (WAF).
Azure Front Door Используйте для глобальной балансировки нагрузки (УРОВЕНЬ 7 OSI), чтобы обеспечить глобальную кэшированную и безопасную сеть для статических и динамических ресурсов, включая защиту от атак DDoS, сквозное шифрование TLS, брандмауэры приложений и геофильтрация.
Диспетчер трафика Azure Используйте для распространения трафика по DNS (уровень 7 OSI) для общедоступных приложений в глобальных регионах Azure. Диспетчер трафика использует DNS для перенаправления клиентских запросов к соответствующей конечной точке службы на основе метода маршрутизации трафика. Он поддерживает различные методы маршрутизации трафика, такие как приоритет, производительность и географическая маршрутизация. Это идеально подходит для управления трафиком в нескольких регионах или центрах обработки данных.

Автоматизированное вычисление

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

Service Использование
Power Automate Используйте, когда необходимо автоматизировать бизнес-процессы и рабочие процессы.
Функции Azure Используйте, когда необходимо запустить код на основе времени или в ответ на события в других службах Azure.
Службы контейнеров (Экземпляры контейнеров Azure, Служба Azure Kubernetes, приложения контейнеров Azure) Использование для стандартных автоматизированных рабочих нагрузок
Пакетная служба Azure Используйте при необходимости высокопроизводительную автоматизацию.

Гибридное облако

Гибридное облако — это вычислительная среда, которая подключает локальные частные облачные службы компании и стороннее общедоступное облако к одной гибкой инфраструктуре для выполнения приложений и рабочих нагрузок организации.

Service Использование
Azure Arc Используйте, когда необходимо управлять всей средой, облачными и локальными ресурсами, включая безопасность, управление, инвентаризацию и управление.

Если вам не нужно поддерживать собственную инфраструктуру, используйте Azure Stack HCI для запуска виртуальных машин в локальной среде.

Высокопроизводительные вычисления

Высокопроизводительные вычисления (HPC) — это использование параллельной обработки для эффективной работы расширенных программ приложений, надежно и быстро. Термин применяется особенно к системам, которые работают над терафлопом или 10^12 операций с плавающей запятой в секунду.

Service Использование
Пакетная служба Azure Пакетная служба Azure создает пул вычислительных узлов (виртуальных машин) и управляет им, устанавливает приложения, которые требуется запустить, и планирует задания для выполнения на узлах. Разработчики могут использовать пакетную службу в качестве службы платформы для создания приложений SaaS или клиентских приложений, в которых требуется крупномасштабное выполнение.
Экземпляры Azure BareMetal Используйте, когда необходимо запустить в невиртуализированной среде с доступом на корневом уровне к операционной системе, хранилищу и сети.
Рабочая область Azure Quantum Используйте, когда необходимо разрабатывать и экспериментировать с квантовыми алгоритмами.
Microsoft Genomics Используется для обработки генома, совместимой с ISO, совместимой с HIPAA.

Дополнительные сведения см. в статье о высокопроизводительных вычислениях в Azure.

Вычисления на основе событий

Вычисления на основе событий — это вычисления, активируемые событием, например расписанием по времени или другой службой Azure. Вычисления на основе событий обычно используются для фоновой обработки, пакетной обработки или длительных процессов.

Service Использование
Студия Microsoft Copilot Используйте, когда необходимо создать чат-боты с интерфейсом без кода.
Функции Azure Используйте, когда необходимо запустить код на основе времени или в ответ на события в других службах Azure.
обмен сообщениями Служебная шина Azure Используйте, когда необходимо разделить приложения и службы.

Вычисление CI/CD

Вычислительные ресурсы CI/CD — это вычислительные ресурсы, используемые для сборки и развертывания приложения.

Service Description
Azure DevOps Используйте Azure DevOps для тесной интеграции с облаком Azure, включая проверку подлинности и авторизацию для размещенных агентов, которые создают и развертывают приложение.
Действия GitHub Используйте GitHub Actions для создания и развертывания приложений репозитория GitHub. Используйте Azure CLI для безопасного доступа к Azure в рамках действия.
Виртуальные машины Azure Если вы используете другую систему CI/CD, вы можете использовать Azure Виртуальные машины для размещения системы CI/CD.

Ресурсы для Java

Дополнительные ресурсы