Question

Difficulty: MediumRelease Management and Deployment Strategies

A platform engineering team is establishing an automated deployment pipeline for an enterprise application running on Google Kubernetes Engine (GKE). The application communicates with a relational database, and all cloud infrastructure is managed using Terraform within a CI/CD pipeline. Which TWO deployment and operational practices should the team implement to ensure release reliability and prevent application outages during rollouts?

  1. Apply backward-compatible database schema changes using an expand-contract pattern before routing traffic to new application revisions.Answer
  2. Store Terraform state in a centralized Cloud Storage bucket configured with object versioning and state locking.Answer
  3. C
    Store Terraform state files on the local filesystem of the CI/CD runner to reduce latency during pipeline execution.
  4. D
    Grant the primitive Owner role to the CI/CD service account to eliminate permission errors across target environments.
  5. E
    Configure backend load balancer health checks to execute complex database query operations on every probe.

Answer

The team should apply backward-compatible database schema changes using an expand-contract pattern before routing traffic to new application revisions, and store Terraform state in a centralized Cloud Storage bucket configured with object versioning and state locking.
Ensuring database schema changes are backward-compatible (using an expand-contract pattern) guarantees that active application versions continue functioning during progressive deployments without causing data errors. Concurrently, utilizing Cloud Storage with state locking and versioning for Terraform state maintains IaC state integrity and prevents race conditions across automated build runners.

Step-by-Step Solution

1
Analyze deployment safety requirements for applications connected to backend databases.
Identified that database schema updates must remain compatible with both the active deployment and the upcoming release to allow zero-downtime rolling updates and instant rollbacks.
Deploying breaking schema modifications simultaneously with new code causes runtime errors on active application instances.
2
Evaluate Infrastructure as Code state management best practices for CI/CD automation.
Identified remote backend state storage with object locking and versioning in Cloud Storage as essential for team collaboration and automated pipelines.
Local state files on ephemeral build instances cause concurrency issues, lost state history, and infrastructure drift.

Key Concept

Release Management and Infrastructure State Integrity
Estimated Time:2m 0s
Rate this question