AWS представила новый форм-фактор Lambda для запуска обычных HTTP-приложений

Компания Amazon Web Services анонсировала AWS Lambda Web Functions — новый форм-фактор, позволяющий запускать стандартные HTTP-веб-приложения на Lambda без переписывания кода в обработчик событий.
AWS представила новый форм-фактор Lambda для запуска обычных HTTP-приложений

AWS представила новый форм-фактор Lambda для запуска обычных HTTP-приложений. Фото: из архива компании

По словам автора анонса Мики Уолтера, разработчики могут взять обычный сервер, прослушивающий порты и созданный на Express, Hono, Fastify, Next.js или любом другом фреймворке Node.js, развернуть его одной командой.

После этого Lambda автоматически возьмёт на себя масштабирование, распределение по нескольким регионам и оплату за использование ЦП. Никаких адаптеров, инфраструктуры для управления и привязки к конкретной платформе при этом не требуется.

AWS Lambda теперь предлагает три различных форм-фактора, построенных на одной и той же технологии изоляции Firecracker и предназначенных для разных моделей программирования.

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

Lambda Web Functions используют HTTP-ориентированную модель с многопоточным выполнением и активным распределением ресурсов ЦП, что подходит для веб-приложений, бэкэндов API и интерактивных HTTP-нагрузок.

Микровиртуальные машины Lambda предоставляют изолированные, сохраняющие состояние среды-песочницы с управляемым клиентом жизненным циклом для выполнения ненадёжного или созданного пользователем кода.

Все три компонента дополняют друг друга: приложение может использовать Event Functions для асинхронной обработки, Web Functions для пользовательского API и серверного рендеринга, а MicroVMs для интерактивного выполнения кода — в рамках одной учётной записи AWS и одной операционной модели.

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

Сегодня для этого обычно требуется собирать множество инфраструктурных компонентов, настраивать развёртывание в нескольких регионах, устанавливать маршрутизацию на основе задержки и оптимизировать модели выставления счетов, чтобы не платить за время ожидания ввода-вывода. Lambda Web Functions устраняет эту сложность: каждая среда выполнения обрабатывает до 128 одновременных запросов, поэтому всплеск трафика использует одни и те же среды, а счёт выставляется за фактически использованное процессорное время, из-за чего ожидание запроса к базе данных или вызова API почти не потребляет ресурсов ЦП. Для веб-нагрузок с интенсивным вводом-выводом, таких как серверный рендеринг, бэкэнды API и конечные точки вывода ИИ с потоковыми ответами, это может снизить вычислительные затраты.

В качестве примера автор приводит простой сервер на Express.js, который запускается локально командой node index.js и не требует никаких адаптеров или обёрток, специфичных для Lambda. Единственное отличие от локального запуска — переменная окружения AWS_LAMBDA_HTTP_ENDPOINT, которую Lambda устанавливает как хост и порт для прослушивания запросов.

Развёртывание выполняется одной командой aws lambda-web deploy, которая собирает исходный код, создаёт веб-функцию, публикует её первую версию, подключает конечную точку и возвращает работающий HTTPS-адрес менее чем за минуту.

Для работы с пользователями в Европе и Азии достаточно переразвернуть приложение с поддержкой нескольких регионов, и Lambda автоматически настроит маршрутизацию на основе задержки через единый глобальный URL. Для постепенного внедрения можно перенаправлять трафик между версиями, например 90 процентов на текущую и 10 процентов на новую, с помощью одного вызова API.

Web Functions также хорошо работают в паре с Amazon CloudFront: конечную точку Web Function можно выбрать в качестве источника для распределения CloudFront, чтобы статические ресурсы обслуживались из кэша, а динамические запросы направлялись в функцию.

Кроме того, теперь можно подключить контроль доступа к источнику CloudFront (OAC) к конечной точке Web Function — CloudFront подписывает запросы к источнику, и конечная точка принимает вызовы только от вашего дистрибутива, что даёт тот же шаблон работы с частными источниками, который CloudFront уже предоставляет для Amazon S3, без раскрытия конечной точки и добавления пользовательской авторизации.

AWS Lambda Web Functions доступны сегодня в регионах US East (N Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Tokyo) и Europe (Ireland). Они работают на Node.js 24 (nodejs24.x) на платформе Arm64 и поддерживают подключение к Amazon Virtual Private Cloud (VPC), что позволяет функции получать доступ к ресурсам внутри VPC. Развернуть первую веб-функцию можно командой aws lambda-web deploy --name hello-world --hello-world, подробности о ценах опубликованы на странице цен AWS Lambda, а более детальная информация — в документации по Lambda Web Functions.

Упомянутый сервис
Amazon Web Services Инфраструктура облачных сервисов для предоставления таких услуг как: хранение данных, аренда серверов и предоставление мощностей.
Инфраструктура облачных сервисов для предоставления таких услуг как: хранение данных, аренда серверов и предоставление мощностей.

Больше интересного

Актуальное

FreshOffice запустил мобильную версию CRM в браузере смартфона Почему новые Claude Fable 5.2 и Mythos 5.2 лучше других ИИ-моделей? Только до конца ноября: Adesk удваивает токены в Adesk AI
Ещё…

Популярные теги