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: Building Container Images
- 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 (hands-on lab activity).
 
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.
 
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.