- Robert Boscacci/
- Projects/
- Certification: AWS DevOps Pro/
- 2: Configuration Mgmt / Infrastructure as Code/
- 0: Elastic Beanstalk/
- 1: Beanstalk Deployment Strats/
1: Beanstalk Deployment Strats
·1 min
Table of Contents
What Environment Types Exist?
- Single instance
- Load balancer
- Has an elastic IP
- Still an auto-scaling group, just has one server
- High-availability
- Load balancer
- ASG
- Group of instances
Deployment types?
All at once
- “In-place” deployment
- Fast swap
- No DNS changes
- Potentially catastrophic if problems
Rolling
- Guarantee always 1 instance up at a time
- Instances detach / re-attach to load balancer (ELB)
- If it fails, it can get complicated
Rolling w/ addl batches:
- Introduce new instances before decommissioning olds
- Prevents downtime
- Requires some more overhead, time
- If failure: Original ASG is still chillin
Immutable
- Completely new instances (prevent downtime)
- Register new ones on ELB, do health checks
- Kill old instances
Blue/Green
- Create entirely new environment (incl. ELB)
- Swap route53 URLs; use DNS to redirect traffic.
- Requires more resources
- No downtime
- Test resources in isolation
- DNS changes could be weird
Canary
- Much like blue/green—but split traffic bit by bit (via DNS)