Question

Difficulty: MediumSelecting and Designing Compute and Application Platforms

A global smart agriculture company is designing a telemetry processing platform on Google Cloud. The system consists of two workload components:

1. Component 1: A stateless HTTP REST microservice that processes telemetry reports from field sensors. Traffic is unpredictable, with long idle periods and sharp spikes. The component must scale down to zero when idle to minimize costs and require minimal operational overhead.
2. Component 2: A long-running, stateful backend application requiring custom host OS Linux kernel parameters (sysctl tuning) and direct raw TCP socket configuration for legacy device protocol handling.

Which TWO platform architectural decisions should you recommend to satisfy these requirements while adhering to Google Cloud best practices?

  1. Deploy Component 1 to Cloud Run services to leverage fully managed autoscaling down to zero instances during idle periods with minimal operational overhead.Answer
  2. Deploy Component 2 to Google Kubernetes Engine (GKE) standard node pools where host Linux kernel settings and node configurations can be customized.Answer
  3. C
    Deploy Component 1 to a dedicated Google Kubernetes Engine (GKE) cluster with a fixed node pool to process the incoming HTTP REST telemetry.
  4. D
    Deploy Component 2 to Cloud Run Services with custom OS kernel parameter flags declared in the service deployment manifest.
  5. E
    Deploy Component 1 onto a fixed-size Compute Engine Managed Instance Group covered by 3-year Committed Use Discounts.

Answer

Deploy Component 1 to Cloud Run services, and deploy Component 2 to Google Kubernetes Engine (GKE) standard node pools.
Cloud Run is the optimal platform for Component 1 because it natively supports stateless HTTP workloads, scales down to zero during idle periods to eliminate unnecessary costs, and minimizes operational management. For Component 2, GKE standard node pools provide the necessary access to configure host Linux kernel parameters and handle stateful networking requirements.

Step-by-Step Solution

1
Analyze Component 1 requirements
Component 1 is a stateless HTTP microservice with unpredictable traffic, long idle times, and a requirement to minimize management overhead and cost.
Cloud Run provides serverless container execution for stateless HTTP workloads, scaling down to zero when idle so no cost is incurred.
2
Analyze Component 2 requirements
Component 2 requires stateful capabilities, low-level OS/kernel parameter tuning (sysctl), and specialized raw TCP socket protocol access.
Cloud Run containers do not allow host OS kernel modifications. GKE standard nodes allow node-level OS tuning via DaemonSets or startup scripts while providing stateful workload orchestration.
3
Select the optimal GCP compute combination
Combine Cloud Run for Component 1 and GKE standard cluster for Component 2.
This combination avoids unnecessary cluster overhead for stateless microservices while fulfilling specialized host configuration needs for stateful workloads.

Key Concept

Selecting GCP Compute Platforms based on workload statefulness, operational overhead, autoscaling needs, and OS customization requirements
Rate this question