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