Разработчик(и) | Веб-сервисы Amazon |
---|---|
Первоначальный выпуск | Май 2021 г. |
Операционная система | Кроссплатформенный |
Тип | Служба оркестровки контейнеров |
Лицензия | Запатентованный |
AWS App Runner — это полностью управляемый контейнерный сервис приложений, предлагаемый Amazon Web Services (AWS). Запущенный в мае 2021 года, он предназначен для упрощения процесса создания, развертывания и масштабирования контейнерных приложений для разработчиков. [1] Сервис позволяет пользователям сосредоточиться на написании кода и разработке функций без необходимости управления базовой инфраструктурой. Он обеспечивает автоматическое масштабирование, балансировку нагрузки и функции безопасности, что делает его подходящим выбором для развертывания веб-приложений и API. Сервис также упрощает MLOps . [2]
AWS App Runner предлагает несколько функций, призванных упростить развертывание и управление контейнеризированными приложениями, в том числе:
AWS App Runner использовался различными компаниями для упрощения развертывания своих веб-приложений и API. Среди известных клиентов — Classmethod, Hubble и Velo by Wix . [4] Эти компании использовали App Runner для ускорения выхода на рынок, повышения производительности разработчиков и упрощения процессов разработки приложений.
AWS Cloud Development Kit (AWS CDK) представил поддержку AWS App Runner в августе 2021 года, что позволяет разработчикам определять и развертывать сервисы App Runner с помощью AWS CDK. [5] Это оптимизирует процесс разработки и развертывания приложений за счет автоматизации создания сервисов App Runner, управления ими через инфраструктуру как код (IaC) и использования знакомых языков программирования для определения их инфраструктуры. AWS CDK предлагает поддержку L1 для AWS App Runner, соответствующую низкоуровневым конструкциям. Кроме того, экспериментальная библиотека конструкций L2, @aws-cdk/aws-apprunner-alpha, доступна в предварительной версии, предлагая более абстрактный и удобный для разработчиков подход. [6]
Хотя AWS App Runner может упростить развертывание контейнеризированных приложений, следует учитывать определенные ограничения при оценке его пригодности для конкретных вариантов использования. К этим ограничениям относятся ограниченные возможности конфигурации оборудования, отсутствие поддержки GPU, [7] ограниченная региональная доступность, ограниченные возможности настройки, ограничения масштабирования, ограниченная поддержка приложений с отслеживанием состояния, соображения стоимости, ограничения размера образа контейнера и отсутствие поддержки многоконтейнерных развертываний. В настоящее время он поддерживает только контейнеры Linux. [8] Кроме того, App Runner не предлагает опцию «масштабирования до нуля», как Google Cloud Run, не поддерживает AWS CodeCommit как репозиторий сервисов на основе кода и не предоставляет приложениям App Runner способ доступа к ресурсам в VPC. [9]
AWS App Runner предлагает развертывание и управление для контейнеризированных приложений. Его можно сравнить с другими сервисами AWS и аналогичными предложениями от других поставщиков облачных услуг, такими как AWS Elastic Beanstalk , AWS Copilot и Google Cloud Run.
AWS Elastic Beanstalk — еще один сервис, который автоматизирует развертывание приложений. Однако он обеспечивает больший контроль над инфраструктурой после развертывания, что может быть необходимостью в некоторых случаях, но также вносит потенциал неуправляемых изменений. В отличие от этого, App Runner полностью управляем, что минимизирует административные издержки. [9]
AWS Copilot, выпущенный как инструмент командной строки для упрощения развертываний ECS, предлагает привлекательную нишу, но изначально не имел возможности масштабирования. С тех пор AWS Copilot выпустил версию 1.7.0, которая изначально поддерживает App Runner и устраняет разрыв между двумя сервисами. [9]
Google Cloud Run — это аналогичный сервис, предлагаемый Google Cloud Platform (GCP), который позволяет разработчикам развертывать и управлять контейнеризированными приложениями. Одно существенное различие между App Runner и Google Cloud Run заключается в том, что последний предлагает возможность «масштабирования до нуля», что снижает затраты на редко используемые приложения. В App Runner в настоящее время эта функция отсутствует, что приводит к более высоким затратам на такие приложения. [9] Microsoft выпустила аналогичный продукт под названием Azure Container Apps. [10]
Для тех из вас, кто только начинает работать с контейнерами, мы рекомендуем использовать AWS App Runner . Хотя он поддерживает только контейнеры Linux, его очень просто создать.