Who should attend
Cloud Developers, API Developers
- Familiarity with Linux commands and command line interface.
- Basic understanding of Google Cloud.
- Basic understanding of networking.
- Basic understanding of one or more programming languages like Go, Python, Java, Ruby, or Node.js.
- Basic understanding of shell scripts, YAML, JSON, HTTP, and TLS.
- Gain detailed understanding of Cloud Run, Google Cloud’s fully managed compute platform for deploying and scaling containerized applications quickly and securely.
- Write and migrate code your way using your favorite languages (Go, Python, Java, Ruby, Node.js, and more).
- Secure service to service communication based on service identities and grant applications only the permissions they need.
- Learn how to build highly available applications with low end-user latency, globally.
- Learn how to connect to, and persist data in the managed database offerings on Google Cloud.
- Understand how abstracting away all infrastructure management creates a simple developer experience.
Outline: Application Development with Cloud Run (ADCR)
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.