In this lab, you’ll be tasked with deploying an off-the-shelf Cloud Run application that takes headless screenshots of webpage URLs. But there’s a problem: Sometimes the deployment works, and sometimes it returns a server error. Your job is to use the tools of Cloud Run and the GCP operations suite to figure out what is wrong with the deployment and fix it, improving its reliability so the service responds successfully 100% of the time. You should be familiar with the Cloud Shell and have some experience with Cloud Run to perform this hands-on lab.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Deploy the Screenshot Service
Create a new Cloud Run service using the screenshot container (details in the additional lab instructions). The service should be publicly available (i.e., not requiring authenticated invocations).
- Test the Screenshot Service
Access the screenshot service URL you have deployed, providing it with a URL parameter to screenshot a website. For example:
https://your-screenshot-service.run.app/?url=https://duckduckgo.com
Start with simple websites, like DuckDuckGo and Google. Then, move on to more complex web pages. Some suggestions are:
https://www.apple.com/iphone/ https://www.lightningmaps.org/
Note that as the complexity of the web page increases, the reliability of the service declines. You should be seeing server errors.
- Fix the Screenshot Service
Something is causing the intermittent issues and can be resolved within Cloud Run.
Hint: Why would simple websites screenshot more reliably than more complex ones?