James Caffey
11/13/2022, 1:56 PMrun-task
for database migrations and other tasks to be executed before starting a rolling update
- The Infrastructure as Code (Terraform/Pulumi/CDK) code is broken out into separate logical units
- A base unit (defines networking, persistent data services, IAM, etc.)
- An app stack (defines ECS resources)
- I will likely break these logical units into smaller, more focused units in the future once I get a strong handle on all three IaC and how to deploy them in a consistent way
- Each IaC library supports two types of environments: production environments and ad hoc environments
- Production environments make use of application autoscaling and dedicated RDS and ElastiCache resources and are suitable for use in production environments and a small number of production-like pre-production environments (such as stage, rc, qa for example)
- Ad hoc environments use a shared VPC, load balancer and RDS instance and are meant to be made available to developers on-demand through a self-service internal developer platform (IDP)