You support a web application that runs on App Engine and uses CloudSQL and Cloud Storage for data storage. After a short spike in website traffic, you notice a big increase in latency for all user requests, increase in CPU use, and the number of processes running the application. Initial troubleshooting reveals:
– After the initial spike in traffic, load levels returned to normal but users still experience high latency.
– Requests for content from the CloudSQL database and images from Cloud Storage show the same high latency.
– No changes were made to the website around the time the latency increased.
– There is no increase in the number of errors to the users.
You expect another spike in website traffic in the coming days and want to make sure users don’t experience latency. What should you do?
A. Upgrade the GCS buckets to Multi-Regional.
B. Enable high availability on the CloudSQL instances.
C. Move the application from App Engine to Compute Engine.
D. Modify the App Engine configuration to have additional idle instances.
Disclaimer
This is a practice question. There is no guarantee of coming this question in the certification exam.
Answer
D
Explanation
A. Upgrade the GCS buckets to Multi-Regional.
(Then how about CloudSQL?)
B. Enable high availability on the CloudSQL instances.
(Then how about cloud storage?)
C. Move the application from App Engine to Compute Engine.
(The same could also happen and even worse if it isn’t MIG.)
D. Modify the App Engine configuration to have additional idle instances.
(Scaling App Engine scales the number of instances automatically in response to processing volume. This scaling factors in the automatic_scaling settings that are provided on a per-version basis in the configuration file. A service with basic scaling is configured by setting the maximum number of instances in the max_instances parameter of the basic_scaling setting. The number of live instances scales with the processing volume. You configure the number of instances of each version in that service’s configuration file. The number of instances usually corresponds to the size of a dataset being held in memory or the desired throughput for offline work. You can adjust the number of instances of a manually-scaled version very quickly, without stopping instances that are currently running, using the Modules API set_num_instances function.)