Какая структура папок лучше всего подходит для бессерверного проекта?
Я начинаю работать над новым безсерверным проектом с использованием 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 ответ
Ваша структура выглядит хорошо, если немного плоской. Мне нравится объединять потоки кода. Обычно есть несколько функций для достижения результата. Те должны быть сгруппированы. Общие функции, которые пересекают потоки, но не пересекают проекты, попадают в общую папку в проекте. Я основываю свою организацию репо на общих идеях. Если лямбды пересекаются с проектами, они идут в общий репо. Проект конкретного пребывания в своем репо.
Во многих случаях самая сложная часть использования серверной архитектуры - найти вызываемый код. С хорошей логической группировкой вы избавите себя от многих головных болей позже.