Как AWS Lambda или любой другой FAAS загружаются

Недавно мы переехали в AWS. и мы находимся в процессе рефакторинга нашего кода, чтобы воспользоваться преимуществами предложений AWS. одна из таких вещей - AWS Lambda (Faas). Я понимаю, что AWS лямбда - это процесс, выполняющийся в каком-то контейнере ec2 (с необходимыми вычислительными ресурсами (память и процессор)). и каждый раз, когда вызывается лямбда-функция, этот процесс загружается (холодный запуск) и запускает логику, заданную в функции, а затем завершается после определенного времени простоя. Но одна вещь, которая меня поражает, это то, что лежит в основе кода, который принимает это функция, это какой-то Java-процесс, который имеет некоторую функцию, которая принимает лямбду в качестве входных данных (поставщика) и передает результат обратно. И как происходит передача функции в процесс назначения (http или любой другой протокол), Я знаю, что мой вопрос очень грубый, но кто-то может дать мне понять. Спасибо

1 ответ

Исходя из моего понимания, в зависимости от конкретного выбора языка времени выполнения (NodeJS, Java, Python), вы получаете контейнеры с различными средами выполнения.

Например, если вы используете Java, JVM должна быть уже установлена ​​в базовый контейнер конкретной среды выполнения.

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

Чтобы понять особенности Lambda-контейнеров, установите локальные Docker-контейнеры AWS SAM, которые будут ближе к тому, что мы ожидаем от Lambda.

Другие вопросы по тегам