Комментарии 17
Нет никаких ограничений по характеру и интенсивности использования сервиса (учитываются расход памяти и время)

Дадада. Просто попробуйте сделать на Lambda задачу, которая выполняется полчаса.

Как происходит самый первый вызов лямбды? Выделяется микровм, заливается код и только потом передается управление handler функции? Или как минимум одна микровм всегда наготове?
Выделяется микровм, заливается код и только потом передается управление handler функции?

Более-менее так, да. Холодный старт у лямбды (сравнительно) долгий — несколько секунд, если я не путаю.

Насколько сложно делать лямбды на языках, не входящих в список поддерживаемых из коробки?

Ну, я как-то глядел на рантайм для .net — было и правда весьма просто. Основная сложность, как всегда, в том, что не все тонкости взаимодействия описаны, но это уже мелочи.

О, раз у вас, судя по всему, есть опыт.


Я тут лениво попиливаю замену почившему сохабру, которая состоит из двух компонентов: запускаемый раз в минуту скрейпер постов (уже давно готово и работает) и веб-морда к этому всему (ну и постгрес для хранения БД). Разумно ли для чего-то из этого использовать лямбду, или, если у меня уже, скажем, есть машина в Хецнере, лучше использовать её, а AWS использовать только для RDS?

Считать надо, если вкратце.


С одной стороны, веб-морду на Лямбде делать странно (ну, на мой вкус); публичную, по крайней мере (если для себя одного, то можно и на Лямбде). С другой стороны, если сайт будет снаружи AWS, то можно влететь на стоимость data transfer (из RDS), да и просто latency будет выше.


Но это все умозрительно, я такие задачи не решал.

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


Надо запросы оптимизировать, или хотя бы какой-то кеш в памяти держать. Вытаскивать раз в минуту 120 тысяч рядов для того, чтобы отобрать из них 10-20-100, которые надо обновить, почти физически неприятно. Но, увы, я не знаю постгрес и SQL достаточно, чтобы адекватно сформулировать соответствующий запрос.

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

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

Ну и если вы для Haskell хотите рантайм, то вот — Haskell runtime for AWS Lambda.

Спасибо!


Чем хорошо репутацию иметь — можно даже язык не уточнять.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.