ACE study materials
ACE study resources

Choosing a Compute Platform Under a Hard Deadline

ACE · Put your knowledge to work in context.

All case studies

Choosing a Compute Platform Under a Hard Deadline

A retail company needs to migrate a Java order service to Google Cloud within 6 weeks. The service currently runs on 8 VMs, handles bursty traffic (5x spikes during sales), and writes to a local PostgreSQL database. The team has two engineers who know Kubernetes but no one who knows Terraform. Compliance requires that the database not be exposed to the public internet. The CFO wants predictable monthly cost but accepts higher cost during sales events. A vendor proposes a fully managed container platform with autoscaling and a managed database, but migration tooling requires containerizing the app first, which the team estimates at 3 weeks.

1. Recommend a target architecture and justify the trade-offs against the deadline and cost constraints.

Read the worked answer

Recommend GKE Autopilot (or Cloud Run) for the stateless service plus Cloud SQL for PostgreSQL with private IP.

Reasoning:

  • Containerization (3 weeks) fits in the 6-week window and unlocks autoscaling for the 5x bursts, which raw VMs handle poorly without custom autoscaling scripts.
  • Cloud SQL private IP satisfies the no-public-internet requirement without exposing the DB; the app connects over the VPC.
  • Predictable cost: committed use discounts or sustained use discounts on the compute layer, and Cloud SQL's fixed instance pricing gives the CFO a stable baseline. Burst capacity scales up only during sales, matching the accepted higher-cost exception.
  • A pure lift-and-shift to VMs would meet the deadline fastest but leaves the team manually managing scaling and the database, increasing operational risk.

Risk: if containerization slips past 3 weeks, fall back to managed instance groups behind a load balancer with Cloud SQL, accepting less elasticity.

2. The team has no Terraform expertise. How should they provision infrastructure without adding schedule risk?

Read the worked answer

Use console- or gcloud-driven provisioning first, captured as repeatable scripts, rather than blocking on Terraform.

Approach:

  1. Build the environment with gcloud commands recorded in a repo, so the setup is reproducible and reviewable.
  2. Use Deployment Manager or a simple CI pipeline only if the team can absorb the learning cost; otherwise keep scripts.
  3. Introduce Terraform later as a follow-up, not on the critical path.

This protects the 6-week deadline while avoiding an undocumented snowflake environment. The key judgment is that tooling maturity is a schedule risk, and the exam rewards matching process rigor to team capability rather than adopting the most sophisticated tool.