AWS DevOps Release Strategies 4 — Questions and Answers
Question 1: What is the purpose of a 'bake period' in an automated release strategy?
- The time required to build and compile the new application artifact
- A waiting period after a partial deployment to monitor metrics before proceeding further (Correct answer)
- The time CodeDeploy waits for EC2 instances to pass health checks before deployment
- The interval between automated integration test runs in a pipeline
Correct answer: A waiting period after a partial deployment to monitor metrics before proceeding further
A bake period is a deliberate wait after a partial traffic shift that allows teams to observe error rates, latency, and other metrics before continuing the rollout.
Question 2: A team wants to release a new API version without breaking existing clients. Which release strategy achieves this without requiring immediate client migration?
- Blue/green deployment with DNS cutover
- API versioning with parallel running of v1 and v2 endpoints (Correct answer)
- Canary deployment with 5% traffic shift
- Feature flags on the existing v1 endpoint
Correct answer: API versioning with parallel running of v1 and v2 endpoints
Running old and new API versions in parallel allows existing clients to continue using v1 while new clients or migrated clients use v2, avoiding forced migration.
Question 3: Which CloudFormation feature enables you to deploy updates to a stack in a controlled, staged manner with the ability to pause or roll back?
- CloudFormation Change Sets (Correct answer)
- CloudFormation Stack Policies
- CloudFormation Drift Detection
- CloudFormation Nested Stacks
Correct answer: CloudFormation Change Sets
Change Sets let you preview proposed changes to a stack before executing them, giving you control over when and whether to apply the update.
Question 4: When configuring an AWS CodeDeploy deployment group for EC2/on-premises instances, what does the 'deployment type' setting of 'Blue/Green' require that 'In-Place' does not?
- A CloudWatch alarm for automatic rollback
- A load balancer to redirect traffic between the old and new instances (Correct answer)
- An SNS topic for deployment notifications
- An S3 bucket for storing deployment artifacts
Correct answer: A load balancer to redirect traffic between the old and new instances
Blue/green deployments for EC2 require a load balancer to shift traffic between the original (blue) and replacement (green) instances, whereas in-place deployments update existing instances directly.
Question 5: A company needs to roll out an update to 1,000 EC2 instances with zero downtime, replacing 10 instances at a time. Which Elastic Beanstalk deployment policy achieves this without launching additional capacity?
- Immutable
- Rolling (Correct answer)
- Rolling with additional batch
- All at once
Correct answer: Rolling
Rolling deployments update a fixed batch of existing instances at a time, maintaining capacity (minus the batch being updated) without provisioning extra instances.
Question 6: In the context of AWS release strategies, what is 'dark launching'?
- Deploying code to production infrastructure but keeping it inactive via feature flags while it receives real traffic internally (Correct answer)
- Deploying to a staging environment that mirrors production but has no external traffic
- Running deployments during off-peak hours to reduce user impact
- Using encrypted deployment artifacts to prevent access during transit
Correct answer: Deploying code to production infrastructure but keeping it inactive via feature flags while it receives real traffic internally
Dark launching deploys new code to production where it executes (often processing real requests) but its output is hidden from end users, allowing real-world testing without user exposure.
Question 7: When should a team prefer an in-place deployment over a blue/green deployment despite the higher risk?
- When the application requires zero downtime
- When the deployment budget is constrained and provisioning duplicate infrastructure is not feasible (Correct answer)
- When automatic rollback via CloudWatch alarms is required
- When the application runs on AWS Lambda
Correct answer: When the deployment budget is constrained and provisioning duplicate infrastructure is not feasible
In-place deployments avoid the cost of running duplicate infrastructure, making them preferable when budget constraints prevent provisioning a full parallel environment.
What is the purpose of a 'bake period' in an automated release strategy?