Question-18: A specific kind of software testing known as resilience testing is carried out to see how an application would fare when subjected to pressure or while operating in chaotic conditions. In many cases, the term chaos refers to nothing more than a large number of situations that are essentially identical to one another other from the fact that they are new to the programme. Your client is interested in doing resilience testing on their authentication layer. This comprises of a regionally managed instance group that provides service to a public REST API. The API reads and publishes data to and from a Cloud SQL instance. What is it that you ought to do?
A. Engage the services of a security company to run web scrapers on malicious websites that search for users' authentication data on your behalf and notify you if any are discovered.
B. Install software that can detect intrusions on your virtual machines so that you can monitor for and record any unauthorised access.
C. Plan a disaster simulation exercise in which you can turn off all of the VMs located in a particular zone to test how your application responds to the disruption.
D. Configure a read replica of your Cloud SQL instance in a zone that is different from the master, and then manually trigger a failover while monitoring the key performance indicators for our REST API.
Correct Answer

Get All 340 Questions and Answer for Google Professional Cloud Architect

: 3 Explanation: As per google documentation, A well-designed application should scale seamlessly as demand increases and decreases, and be resilient enough to withstand the loss of one or more compute resources. Resilience: designed to withstand the unexpected A highly-available, or resilient, application is one that continues to function despite expected or unexpected failures of components in the system. If a single instance fails or an entire zone experiences a problem, a resilient application remains fault tolerant—continuing to function and repairing itself automatically if necessary. Because stateful information isn’t stored on any single instance, the loss of an instance—or even an entire zone—should not impact the application’s performance. Shutting off all VMs in a zone is not good approach for testing of authentication. Chaos testing is to shutdown random instances. You're not testing authentication, you're testing the resilience of the authentication layer. A resilient app is one that continues to function despite failures of system components Option-3 – schedule a disaster simulation exercise during which you can shut off all VMs in a zone to see how your app behaves. Option-1 & 2 – don’t test resilience at all, just security / authentication attacks. But, Q asks differently – check if authentication works if some resources are down. So, Option-3 and Option-4 to consider. Resiliency definition: a highly-available, or resilient app is one that continues to function despite expected or unexpected failures of components in the system. Option-4 – says about Read Replica and trigger a failover. But, Read replicas neither provide High-Availability nor offer it; a master instance cannot failover to a read replica, and read replicas are unable to fail over in any way during outage. Option-3 – focuses on both aspects: resilience and authentication layer testing by shutting down FrontEnd VMs in the zone. HA Configuration of Cloud SQL – shows Failover example with Master and Read + Failover replica: