Your team is developing a web application that will be deployed on Google Kubernetes Engine (GKE)
Your CTO expects a successful launch and you need to ensure your application can handle the expected load of tens of thousands of users.
You want to test the current deployment to ensure the latency of your application stays below a certain threshold.
What should you do?
Click on the arrows to vote for the correct answer
A. B. C. D.B.
To ensure that the web application can handle the expected load of tens of thousands of users and maintain a desirable latency threshold, load testing is necessary. Therefore, option A is the correct answer.
Load testing allows you to simulate the expected number of concurrent users and total requests to the application, and then analyze the results to determine if the system is performing as expected. This type of testing is essential to identify any bottlenecks or performance issues before the application is released to production.
Here's a more detailed explanation of the other options:
B. Enabling autoscaling on the GKE cluster and horizontal pod autoscaling on the application deployments is a good way to automatically scale resources as the application load increases. However, sending curl requests to the application and validating if the auto scaling works is not sufficient to test latency. It only verifies if the autoscaling feature is functioning properly.
C. Replicating the application over multiple GKE clusters and configuring a global HTTP(S) load balancer is an excellent way to ensure high availability and failover in case of a disaster. However, it does not directly address the latency issue.
D. Using Cloud Debugger in the development environment helps to debug code by allowing developers to set breakpoints and step through code. While it is useful for understanding the latency between different microservices, it does not test the application's ability to handle tens of thousands of users.
Therefore, option A is the best choice to test the application's ability to handle the expected load and maintain the desired latency.