QuestionQ216

Designing scalable, available, and reliable cloud-native applications

You are deploying a microservices application to Google Kubernetes Engine (GKE) that broadcasts livestreams. You anticipate unpredictable traffic patterns and significant variation in the number of concurrent users. Your application must meet these requirements:

  • Automatically scale during popular events while maintaining high availability.
  • Remain resilient if hardware failures occur.

How should you configure the deployment parameters?

Choose two
  • A Distribute your workload evenly using a multi-zonal node pool.
  • B Distribute your workload evenly using multiple zonal node pools.
  • C Use cluster autoscaler to resize the number of nodes in the node pool, and use a Horizontal Pod Autoscaler to scale the workload.
  • D Create a managed instance group for Compute Engine with the cluster nodes. Configure autoscaling rules for the managed instance group.
  • E Create alerting policies in Cloud Monitoring based on GKE CPU and memory utilization. Ask an on-duty engineer to scale the workload by executing a script when CPU and memory usage exceed predefined thresholds.
Explanation

A multi-zonal node pool spreads worker nodes across multiple zones, improving availability and resilience to a zone or underlying hardware failure. The GKE cluster autoscaler automatically resizes node pools within configured limits as capacity is needed, while a Horizontal Pod Autoscaler automatically increases or decreases workload Pods based on resource utilization or other metrics. Together, these mechanisms provide both resilient node placement and automatic workload and node-capacity scaling.

Learn more

Community Discussion

No comments yet. Be the first to start the discussion!