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