Я новичок во всей бессерверной среде, и я пытаюсь понять, когда использовать Fargate против Lambda.
Я знаю, что Fargate - это бессерверное подмножество ECS, а Lambda тоже бессерверное, но управляемое событиями. Но я хотел бы иметь возможность объяснить две парадигмы простыми словами другим людям, которые знакомы с контейнерами, но не очень хорошо знакомы с AWS и бессерверными.
В настоящее время у нас есть несколько физических серверов, отвечающих за получение текстовых файлов, их анализ и заполнение нескольких таблиц БД результатами. Исходя из моего понимания, я думаю, что этот вариант использования лучше подходит для Lambda, потому что процесс, который анализирует текстовые файлы, запускается по расписанию, выполняется недолго и замедляется, когда он не используется.
Однако, если бы мы перенесли через один из наших серверов, которые получают вызовы API, мы, вероятно, захотим использовать Fargate, потому что нам всегда будет нужен хотя бы один запущенный и работающий экземпляр образа.
С точки зрения контейнеров и в очень общих чертах можно было бы с уверенностью сказать, что если контейнер предназначен для:
docker run <some_input>
Тогда это работа для Lambda.
Но если контейнер предназначен для чего-то вроде:
docker run --expose 80
Тогда это работа для Фаргейта.
Это хорошая аналогия?