You are implementing the infrastructure for a web service on Google Cloud.
The web service needs to receive and store the data from 500,000 requests per second.
The data will be queried later in real time, based on exact matches of a known set of attributes.
There will be periods where the web service will not receive any requests.
The business wants to keep costs low.
Which web service platform and database should you use for the application?
Click on the arrows to vote for the correct answer
A. B. C. D.D.
To handle the incoming requests, you should use Cloud Run, a fully managed compute platform that enables you to run stateless containers. Cloud Run allows you to automatically scale the container instances based on the incoming requests, and you are only charged for the duration of the requests.
For storing the data, you can choose between Cloud Bigtable and BigQuery. Cloud Bigtable is a NoSQL database service that provides low-latency, high-throughput storage for large-scale applications. BigQuery is a fully managed, cloud-native data warehouse that enables you to analyze large datasets using SQL queries.
Since the data will be queried in real-time based on exact matches of a known set of attributes, BigQuery is the better option. BigQuery's columnar storage format and massively parallel processing architecture make it highly scalable and efficient for complex queries. Additionally, BigQuery charges based on the amount of data processed, making it more cost-effective than Cloud Bigtable for this use case.
Finally, since there will be periods where the web service will not receive any requests, using a Compute Engine autoscaling managed instance group is not necessary. Cloud Run's auto-scaling feature will ensure that you have enough container instances to handle the incoming requests, and it will automatically scale down when there are no requests.