Your company wants you to build a highly reliable web application with a few public APIs as the backend.
You don't expect a lot of user traffic, but traffic could spike occasionally.
You want to leverage Cloud Load Balancing, and the solution must be cost-effective for users.
What should you do?
Click on the arrows to vote for the correct answer
A. B. C. D.B.
For a highly reliable web application with a few public APIs, one should leverage Cloud Load Balancing for effective management of incoming traffic. Here are the details of each answer option:
A. Store static content such as HTML and images in Cloud CDN. Host the APIs on App Engine and store the user data in Cloud SQL.
Cloud CDN is a content delivery network that stores cached content closer to the end-users, which helps reduce latency and increase performance. App Engine is a managed platform that simplifies the deployment and scaling of web applications. Cloud SQL is a fully-managed relational database service that provides high availability, automatic backups, and scalability. Storing static content on Cloud CDN, hosting APIs on App Engine, and storing user data in Cloud SQL is a valid approach, but it might not be the most cost-effective solution.
B. Store static content such as HTML and images in a Cloud Storage bucket. Host the APIs on a zonal Google Kubernetes Engine cluster with worker nodes in multiple zones, and save the user data in Cloud Spanner.
Cloud Storage is a fully-managed object storage service that provides durable and highly available storage for any type of data. Google Kubernetes Engine (GKE) is a managed container orchestration system that simplifies the deployment and management of containerized applications. Cloud Spanner is a fully-managed relational database service that provides horizontal scalability, strong consistency, and high availability. Storing static content on Cloud Storage, hosting APIs on a zonal GKE cluster with worker nodes in multiple zones, and storing user data in Cloud Spanner is a highly reliable and scalable solution, but it might not be the most cost-effective one.
C. Store static content such as HTML and images in Cloud CDN. Use Cloud Run to host the APIs and save the user data in Cloud SQL.
Cloud Run is a managed platform that allows developers to run containerized applications on a fully-managed serverless environment. It provides automatic scaling, high availability, and low latency. Using Cloud Run to host APIs, storing static content on Cloud CDN, and saving user data in Cloud SQL is a cost-effective and highly reliable solution. This option could be a good choice for a web application with occasional spikes in traffic.
D. Store static content such as HTML and images in a Cloud Storage bucket. Use Cloud Functions to host the APIs and save the user data in Firestore.
Cloud Functions is a serverless compute platform that allows developers to run event-driven code in response to events from various sources. Firestore is a fully-managed NoSQL document database service that provides automatic scaling, real-time updates, and offline support. Storing static content on Cloud Storage, hosting APIs on Cloud Functions, and storing user data in Firestore is a cost-effective and scalable solution. This option could be a good choice for a web application with occasional spikes in traffic and a low volume of data.
In conclusion, option C and D are both cost-effective and reliable solutions for a web application with occasional spikes in traffic and a low volume of data. Option B is a highly reliable and scalable solution but might be more expensive. Option A is a valid approach, but it might not be the most cost-effective one.