Question

Difficulty: MediumSelecting and Designing Compute and Application Platforms

A fintech company is designing the architecture for a multi-tenant payment platform on Google Cloud. The application architecture consists of two distinct workloads:

1. A stateless HTTP microservice that receives incoming webhook events from payment gateways, experiences unpredictable bursty traffic patterns, and must automatically scale down to zero when idle to minimize costs.
2. A stateful financial transaction streaming engine that maintains persistent TCP/WebSocket connections, requires low-level Linux kernel parameter tuning (`sysctl`), and relies on local state storage across connections.

Which TWO compute platform architectural choices should the cloud architect recommend to satisfy the technical requirements of both workloads while minimizing operational overhead?

  1. Deploy the stateless webhook service to Cloud Run to leverage serverless autoscaling to zero and eliminate infrastructure management.Answer
  2. B
    Deploy the stateless webhook service to a Google Kubernetes Engine (GKE) Standard cluster with a dedicated node pool to manage HTTP traffic.
  3. Deploy the stateful transaction streaming engine to Compute Engine virtual machines in a Managed Instance Group (MIG) to allow custom Linux kernel parameter modifications.Answer
  4. D
    Deploy the stateful transaction streaming engine to Cloud Run by enabling session affinity and maximum instance limits.
  5. E
    Configure 3-year Committed Use Discounts (CUDs) on baseline capacity for the stateless webhook microservice to minimize compute costs during traffic spikes.

Answer

The optimal solution is to deploy the stateless webhook service to Cloud Run and deploy the stateful transaction streaming engine to Compute Engine virtual machines in a Managed Instance Group.
Cloud Run is the recommended platform for stateless HTTP webhooks because it automatically scales containers based on incoming requests, scales to zero during idle periods, and removes server management overhead. Compute Engine is required for the stateful streaming engine because serverless and fully managed container environments do not allow low-level Linux kernel (`sysctl`) modifications or local state persistence required by custom TCP socket engines.

Step-by-Step Solution

1
Analyze the requirements for the stateless webhook workload.
Identified that the service processes incoming HTTP webhooks, experiences unpredictable traffic spikes, requires autoscaling to zero, and has no stateful OS requirements.
Cloud Run provides fully managed serverless container execution for HTTP requests, scaling down to zero when idle and abstracting cluster maintenance.
2
Analyze the requirements for the stateful transaction streaming workload.
Identified that the streaming service requires custom Linux kernel tuning (`sysctl`), persistent state, and long-lived TCP/WebSocket connections.
Compute Engine VMs provide direct operating system access required for custom kernel parameters and stateful streaming architectures.
3
Evaluate candidate platforms against operational overhead and technical feasibility.
Select Cloud Run for the stateless microservice and Compute Engine MIGs for the stateful kernel-dependent service.
This combination avoids unnecessary cluster management for stateless services while supplying OS-level control where strictly required.

Key Concept

Selecting GCP Compute Platforms based on Statefulness, Operating System Controls, and Operational Overhead
Rate this question