HeadlinesBriefing HeadlinesBriefing.com

AWS Lambda Web Functions: HTTP-приложения на Lambda

Hacker News •
×

Amazon Web Services объявила о запуске AWS Lambda Web Functions — нового формата, который позволяет разработчикам запускать стандартные HTTP-веб-приложения на Lambda без переписывания кода в виде обработчика событий. Приложения, созданные на Express, Hono, Fastify, Next.js или любом другом фреймворке Node.js, можно развернуть одной командой, а Lambda автоматически обеспечивает масштабирование, распределение по нескольким регионам и оплату активного времени ЦП. Адаптеры, управление инфраструктурой и привязка к конкретному фреймворку не требуются.

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

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

Чтобы начать работу, разработчики пишут стандартный сервер Express, который слушает хост и порт, заданные переменной окружения AWS_LAMBDA_HTTP_ENDPOINT. Тот же код запускается локально командой node index.js. Развертывание выполняется командой AWS CLI aws lambda-web deploy и не требует предварительной настройки ресурсов.

Источник: Hacker News · Сводку подготовил HeadlinesBriefing