1

Я начинаю работать над новым безсерверным проектом, используя AWS Lambda и API-шлюз.Какова лучшая структура папок для сервера без сервера?

Каков наилучший способ организовать мой проект, не будучи запертым в один фреймворк, такой как безрукавный фреймворк или чаша?

Вот что я использую до сих пор.

  • проект-Dir/
    • serverless.yaml (конфигурационный файл)
    • функции/
      • function1.py
      • function2.py
    • Библиотека/
      • common_helper_functions.py
    • испытания/
      • блок/
        • test1.py
        • test2.py
      • функционал/
        • test1.py
        • test2.py
    • миграции
    • ресурсы
      • cloudformation.templates.json

Кто-нибудь из вас рекомендует лучший способ организовать мой проект? Получает ли каждый микросервис отдельный репозиторий git? Я пропускаю другие важные папки?

ответ

1

Ваша структура выглядит хорошо, если немного плоская. Мне нравится комбинировать потоки кода. Обычно есть несколько функций, чтобы получить результат. Они должны быть сгруппированы. Общие функции, которые пересекают потоки, но не пересекают проекты, входят в общую папку в проекте. Я основываю свою организацию репо на общих идеях. Если проекты лямбда пересекаются, они идут в общем репо. Конкретное пребывание в репо.

Много раз самая сложная часть использования серверной архитектуры - это поиск вызываемого кода. С хорошей логической группировкой вы спасете себе много головных болей позже.

+0

Объединение функций в потоки является хорошим предложением. –