Я только недавно экспериментировал с AWS CDK. Мне любопытно, как люди используют CDK в реальной жизни и структуру проекта.
Например, я перевел учебник Mythical Misfits для использования CDK, и в результате у меня возникли следующие вопросы:
Лямбда
- Лямбда обычно имеет некоторые зависимости.
- Проект может иметь лямбды на разных языках программирования. А также другой язык для вашего кода CDK.
Вопросы:
- Исходя из вышеизложенных утверждений, хранят ли люди лямбда-код в своем проекте CDK? Или у них Lambdas хранятся в отдельном проекте и каким-то образом включены?
- Есть ли у них зависимости кода Lambda, уже проверенные в управлении исходным кодом? Или у них есть шаг предварительной сборки Lambda в среде CI?
- Если в проекте вы внесли изменения в одну Lambda (из проекта нескольких Lambdas), хотите ли вы обеспечить повторное развертывание «только» Lambda, которая изменилась? Означает ли это наличие стека CDK на лямбду?
Dockerfile / images
В учебнике Mythical Misfits используются AWS Code Services и ECR. На самом деле, есть ли у компаний собственные системы контроля версий, CI и местные Docker реестры?
Если это большой моно-проект, будет ли настройка среды CI только создавать и развертывать изменения? Если у вас есть несколько docker образов, которые работают на AWS Fargate, вам нужно будет только повторно развернуть измененный образ. Является ли CDK достаточно умным, чтобы распознать это, или вам нужно разделить каждый сервис на свой стек?