Application Development with Cloud Run (ADCR) – Outline

Detailed Course Outline

The course includes presentations, demonstrations, and hands-on labs.

Module 1: Introducing Application Development with Cloud Run

  • A general understanding of Cloud Run
  • Understand how how high availability, low end-user latency and developer productivity are important architectural drivers for web based applications today.
  • Understand the advantages of serverless on Google Cloud.

Module 2: Understanding Cloud Run

  • Understand Container Images and Containers.
  • Understand how Cloud Run is different from an always-on server.
  • Implement the deployment of a container image to Cloud Run.
  • Understand auto-scaling and on-demand containers.

Module 3: Building Container Images

  • Deeply understand what is inside a container image.
  • Package an application into a container image with Buildpacks.
  • Understand that Dockerfiles are a lower-level and more transparent alternative to Buildpacks.

Module 4: Diving Deeper into Cloud Run

  • Container lifecycle
    • Idle vs serving
    • Shutdown lifecycle hook
  • Cold starts
    • Min instances
  • Container readiness
  • The service resource and what it describes
  • Configuring memory limits and CPU allocation
  • Deploying a new revision
  • Traffic steering (tagging, gradual rollouts)

Module 5: Configuring Service Identity and Authorization

  • Understand that every action on a Cloud resource is actually an API call.
  • Understand how and why to limit the permissions in your Cloud Run service to only specific and necessary API calls.
  • Understand the process needed to make the default permissions of a Cloud API more secure.
  • Use the client libraries to call other Google Cloud services.

Module 6: Serving Requests

  • Use Cloud CDN to improve the reliability and performance of an application.
  • Use path-based routing to combine multiple applications on one domain.
  • Route incoming requests to the Cloud Run service closest to clients.

Module 7: Using Inbound and Outbound Access Control

  • Connecting your project to resources with a private IP.
  • Implementing controls to prevent outbound traffic to dangerous or unwanted hosts.
  • Implementing filters for inbound traffic using content-based rules.
  • Implementing controlled access to only specific service accounts.
  • Implement dialogs using input and output contexts.

Module 8: Persisting Data

  • Understand how to connect your application with Cloud SQL to store relational data.
  • Use a VPC Connector to reach a private Memorystore instance.
  • Understand how to connect with Cloud Storage, Spanner and Firestore.

Module 9: Implementing Service-to-Service Communication

  • Using Cloud Pub/Sub to send messages between services.
  • Discovering the URL of other Cloud Run services.
  • Receiving events from other Google Cloud services.
  • Processing background tasks asynchronously.

Module 10: Orchestrating and Automating Serverless Workflows

  • Understand the capabilities of Cloud Workflows.
  • Learn how to model a simple workflow with steps and conditional jumps.
  • Integrating Cloud Run with Cloud Workflows.
  • Understand how to invoke workflows.