Troubleshooting Cloud Run Deployments

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

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?

Additional Resources

Log in to Google Cloud Platform by right-clicking Open Google Console and selecting the option to open it in a new private browser window. Then, sign in using the credentials provided on the lab page.

The code for the screenshot application can optionally be viewed in this Git repo. However, all that is required for the lab is the URL of the container image:

gcr.io/as-a-service-dev/screenshot

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?