
Google Professional Cloud Architect
Get started today
Ultimate access to all questions.
Your company has a Kubernetes application that pulls messages from Pub/Sub and stores them in Filestore. This simple application was deployed as a single pod. Upon analyzing Pub/Sub metrics, the infrastructure team found that the application cannot process the messages in real time, resulting in most messages waiting for minutes before being processed. The processing of these messages is I/O-intensive. How should you scale the application's elaboration process to handle the workload effectively?
Your company has a Kubernetes application that pulls messages from Pub/Sub and stores them in Filestore. This simple application was deployed as a single pod. Upon analyzing Pub/Sub metrics, the infrastructure team found that the application cannot process the messages in real time, resulting in most messages waiting for minutes before being processed. The processing of these messages is I/O-intensive. How should you scale the application's elaboration process to handle the workload effectively?
Explanation:
The correct answer is D: 'Configure a Kubernetes autoscaling deployment based on the subscription/num_undelivered_messages metric.' This is because the num_undelivered_messages metric directly indicates the number of messages waiting to be processed, making it a perfect indicator of the workload on the application. By configuring Kubernetes to autoscale based on this metric, you ensure that more pods are created when the number of undelivered messages increases, thereby enabling the application to process messages more efficiently and in real time.