Каков наилучший способ оркестровки AWS Step Functions, AWS Lambda и Django Backend, размещенных на EC2?
Наша команда в настоящее время изучает построение конвейера данных с помощью AWS Step Functions для проекта Django backend, который находится на EC2. Я вижу, что почти вся документация по Step Functions опирается на вызов Lambda Function для выполнения задач конвейера. В связи с этим возникает несколько вопросов.
- Можно ли использовать обычные функции python или запускать модули как часть Step Functions? Если мы попытаемся использовать AWS Lambda для этой функциональности, это потребует наличия .zip-копии нашего исходного кода, развернутого на Lambda. Не приведет ли это к дублированию кода и проблемам с сопровождаемостью кода? Не кажется ли использование другого инструмента, такого как Apache Airflow, лучшим решением, поскольку вызов скриптов python кажется естественной частью рабочего процесса?
- Наконец, имеет ли использование AWS lambda гораздо больший смысл, если код функции полагается только на встроенные библиотеки и не сильно зависит от внешних библиотек / импорта специфичных для проекта, что, как уже упоминалось, может привести к дублированию кода?
В настоящее время мы не планируем развертывать наш бэкенд на Lambda. Если я что-то упускаю, пожалуйста, поясните. Заранее спасибо.