Decide on Kubernetes Application Artifacts
We prefer strategies that ship the Application code (e.g. docker images) with the Application configuration (E.g. everything needed to run the application on the platform, such as manifests, IAM roles, etc.)
Application-specific Infrastructure Considerations
-
IAM roles, SNS topics,
-
Does the terraform code live alongside the apps or in the infrastructure mono repo (our preference is alongside the apps).
-
When should these infrastructure changes rollout? e.g. before or after application changes.
-
If the resources will be shared amongst services, then we should probably not do this for those dependencies and instead move them to shared infrastructure since their lifecycle is not coupled to one application.
Application Configuration Considerations
-
Raw manifests
-
Helm charts
-
Kustomize