Каков наилучший способ оркестровки AWS Step Functions, AWS Lambda и Django Backend, размещенных на EC2?

Наша команда в настоящее время изучает построение конвейера данных с помощью AWS Step Functions для проекта Django backend, который находится на EC2. Я вижу, что почти вся документация по Step Functions опирается на вызов Lambda Function для выполнения задач конвейера. В связи с этим возникает несколько вопросов.

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

    Вернуться на верх