This course introduces you to fundamentals, practices, capabilities and tools applicable to modern cloud-native application development using Google Cloud Run. Through a combination of lectures, hands-on labs, and supplemental materials, you will learn how to design, implement, deploy, secure, manage, and scale new (greenfield) and existing (brownfield) applications on Google Cloud using Cloud Run.
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.