- Status: approved
- Last Updated: 2021-05
- Builds on: Use Terraform for Infrastructure Management
- Objective: Determine how to deploy services
We have previously chosen to use terraform for infrastructure management. Terraform is not a CI/CD tool and is not well suited for code deployment.Serverless services are an interesting case, in how they blend some aspects of infrastructure with code.
- Balance an effective hands-on experience for developers with formal resource management.
- Serverless services include both code and infrastructure changes
- Terraform
- gcloud
- gcloud + Cloud Run service.yaml
Chosen option: "[option 2] gloud".
- Keep infrastructure and software management separate, changing software doesn't necessarily disrupt infrastructure
- Keep deployment operations familiar and help developers derive their own gcloud commands for research & troubleshooting
- We are not applying an auditable, infrastructure-as-code approach to Serverless service infrastructure
- New instance setup will require both Terraform & gcloud steps
- Infrastructure that depends on Service deployment will require a separate terraform process