Почему именно так — у нас нагрузка скачет. Бывают долгие периоды затишья и внезапные пики, и держать постоянно включённые сервера ради редких всплесков невыгодно. Нам важно, чтобы система умела масштабироваться до нуля в простое и платить приходилось только за реальные обращения и затраченное время вычислений, а при наплыве трафика мощность добавлялась сама, без ручного вмешательства и без наших ночных дежурств. Отдельно просим продумать холодные старты: разумный объём памяти на функцию, компактные зависимости и включение provisioned concurrency только на действительно критичных маршрутах. Модель хранения в DynamoDB нужно проработать под наши сценарии доступа заранее.
Вся инфраструктура должна описываться кодом — Terraform, AWS SAM или CDK, тут мы гибки, но настройка руками через веб-консоль не подходит. Ожидаем три раздельных окружения (разработка, тестирование, боевое) из общих шаблонов, узкие IAM-права на каждую функцию, сбор логов и трассировку, оповещения об ошибках и троттлинге, а также автоматический деплой при слиянии веток. Что нужно на выходе:
— рабочий API на Lambda и API Gateway с проверкой входных данных;
— продуманная схема DynamoDB с описанными паттернами доступа;
— фоновые обработчики на EventBridge и очередях с повторами и dead-letter;
— полностью автоматизированное развёртывание из кода.