In order to measure the new Service Level Indicator (SLI) to increase coverage in case of a potential load balancer misconfiguration, CDN failure, or other global networking catastrophes, the two best options are "Instrumentation coded directly in the client" and "A synthetic client that periodically sends simulated user requests."
"Instrumentation coded directly in the client" - This option is correct because client instrumentation allows for quickly gaining insight into customer's happiness, which is necessary to detect CDN/LB failures. If you use an APM suite or frontend framework that provides client instrumentation, you can quickly gain insight into your customer's experience.
"A synthetic client that periodically sends simulated user requests" - This option is also correct because a synthetic client can help detect potential load balancer misconfigurations, CDN failures, or other global networking catastrophes. Additionally, a synthetic client can send simulated user requests to test the service regularly to ensure it is properly functioning and provides an accurate representation of the customers' experience.
"Your application servers' logs" - This option is incorrect because running health checks at application/server level will not cover the potential load balancer misconfigurations, CDN failures, or other global networking catastrophes. Additionally, logs cannot detect or inform us of a customer's experience, which is necessary to detect CDN/LB failures as those components are closest to the customer.
"Metrics exported from the application servers" - This option is incorrect because metrics exported from the application servers cannot detect the application from the customer's perspective, which is necessary to detect CDN/LB failures. Additionally, metrics exported from the application servers will not be able to detect potential load balancer misconfigurations, CDN failures, or other global networking catastrophes.
"GKE health checks for your application servers" - This option is incorrect because GKE health checks for your application servers will not be able to detect potential load balancer misconfigurations, CDN failures, or other global networking catastrophes. Additionally, GKE health checks for your application servers only check that the pod the application runs is in 'running' state.