Application Development with Cloud Run
Duration : 3 Days (24 Hours)
Application Development with Cloud Run Course Overview:
This course provides a comprehensive introduction to cloud-native application development on Google Cloud using Cloud Run. Participants will gain a solid understanding of fundamental concepts, best practices, and tools required for designing, implementing, deploying, securing, managing, and scaling applications.
The course structure includes a mix of informative lectures, hands-on labs, and additional materials to enhance learning. Key topics covered include cloud-native development principles, the features and benefits of Google Cloud Run, and the complete application lifecycle, from development to deployment on the platform. Participants will also learn about securing applications, managing their lifecycle, and optimizing scalability in a cloud environment.
Through hands-on labs and practical exercises, participants will gain practical experience in working with Google Cloud Run. By the end of the course, they will have the necessary skills and knowledge to effectively utilize Cloud Run for building cloud-native applications on Google Cloud.
Intended Audience:
- Cloud developers
- API developers
- Customers and partners
Course Objectives:
- 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.
Application Development with Cloud Run
Module 01 : Introducing Application Development with Cloud Run
This module gives a general overview of Cloud Run. If you’re new to Cloud Run (or even to Google Cloud), this will be a great introduction.
Objectives
- 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 02: Understanding Cloud Run
- You can use any language, any library and any binary. Cloud Run expects your app (in a container image) to listen on a port and respond to HTTP requests.
- Use a docker repository on Artifact Registry to store your images: Cloud Run only deploys from there.
- Cloud Run uses autoscaling to handle all incoming requests
- Pay for use pricing model
- No background tasks: Container lifetime is only guaranteed while handling requests
- There is no persistent storage: Store data downstream
- Cloud Run is portable (containers and Knative)
Objectives
- 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 (hands-on lab)
- Understand auto-scaling and on-demand containers
Activities
- 1 Lab
Module 03: Building Container Images
- The contents of a container image (deep dive)
- There are two ways to build container images- Buildpacks (hands-off)- Docker (you’re in control)
- Cloud Run supports both source-based and a container image based workflow
- The most important considerations of building a secure container image
Objectives
- Deeply understand what is inside a container image
- Package an application into a container image with Buildpacks (hands-on lab activity)
- Understand that Dockerfiles are a lower-level and more transparent alternative to Buildpacks
Activities
- 1 Lab
Module 04: 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)
Objectives
- Understand the advantages of the shutdown lifecycle hook
- Understand how to avoid request queuing
- Implement new versions of an application (hands-on lab activity)
- Implement gradual traffic migration (hands-on lab activity)
Activities
- 1 Lab
Module 05: Configuring Service Identity and Authorization
- Cloud IAM- Service account, policy binding, roles, types of members, resource hierarchy (in practice)- Service accounts- Cloud Run IAM roles
- Cloud Run- Default service account- Risks of using the default service account
Objectives
- 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)
Activities
- 1 Lab
Module 06: Serving Requests
- Custom Domains
- Global Load Balancer- URL Map- Frontend- Backend services
- Benefits and drawbacks of GLB over custom domain
- Types of GLB Backends
- Multi-region load balancing
- Multi-regional applications challenges
- Cloud CDN
Objectives
- 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
Activities
- 1 Lab
Module 07: Using Inbound and Outbound Access Control
- Ingress settings
- Cloud Armor
- Using Cloud IAM to protect services – Understand how authenticated requests (IAM + OIDC tokens) work (builds on Module 5)
- VPC, VPC Access Connector
- Egress settings
Objectives
- 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
Activities
- 1 Lab
Module 08: Persisting Data
- Understanding why you need to store data externally when running a workload on Cloud Run.
- Connect with Cloud SQL from Cloud Run- Understand how it works (managed Cloud SQL Proxy)
- Managing concurrency as a way to safeguard performance (understand why and when)
- Connecting with Memorystore
- VPC Connector- Challenges with scaling Memorystore (throughput)
- Briefly introduce Cloud Storage, Firestore and Cloud Spanner, while reinforcing how the client libraries use the built-in service account to connect (Module 5 is prerequisite knowledge)
- Multi-region data storage (and what Spanner and Firestore can do for you)
Objectives
- 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
Activities
- 1 Lab
Module 09: Implementing Service-to-Service Communication
- Understanding Cloud Pub/Sub- Understanding topics, push subscriptions- Idempotency (Handling retries and at-least-once invocation)- Event ID, design for resume, or use a lease- Handling undeliverable messages
- How to asynchronously schedule a background task on a different service
- Cloud Tasks, and when to choose it over Cloud Pub/Sub• Benefits of using Pub/Sub to pass messages over making sync RPC requests
- Learn about services in Google Cloud with a built-in integration to push events to Pub/Sub (Cloud Build, Artifact Registry, Cloud Storage, IOT Core, BigQuery)
- Cloud Scheduler to invoke services on a schedule.
- CloudEvents
- EventArc, and how to consume Audit logs – What to expect now, and how EventArc will develop over time
Objectives
- 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
Activities
- 1 Lab
Module 10: Orchestrating and Automating Serverless Workflows
- Conceptual overview of Cloud Workflows
- Invoking and passing parameters
- Understand steps and jumps
- Defining, using and passing values with variables
- Using the switch statement to add logic
- Workflow visualization
- Calling HTTPS endpoints
- Calling an authenticated Cloud Run service
- Example: polling API for completion
Objectives
- 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
Application Development with Cloud Run Course Prerequisites:
- 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.
Q: What is the “Application Development with Cloud Run” course?
A: “Application Development with Cloud Run” is a training course that focuses on teaching participants how to develop and deploy applications using Google Cloud Run. Cloud Run is a fully managed serverless platform that allows developers to build and run applications in containers without worrying about infrastructure management.
Q: Who is this course suitable for?
A: This course is suitable for developers, software engineers, and anyone interested in learning how to develop and deploy applications with Cloud Run. It is designed for individuals who have a basic understanding of containerization concepts and want to gain expertise in building serverless applications on Google Cloud Platform.
Q: What topics are covered in this course?
A: The “Application Development with Cloud Run” course covers a range of topics, including understanding Cloud Run architecture, containerizing applications, deploying applications to Cloud Run, scaling and managing services, configuring authentication and security, implementing monitoring and logging, and optimizing performance.
Q: Are there any prerequisites for this course?
A: Participants should have a fundamental understanding of cloud computing concepts and familiarity with containerization technologies such as Docker. Basic knowledge of Google Cloud Platform (GCP) and serverless concepts is beneficial but not mandatory.
Q: What are the key skills and knowledge gained from this course?
A: By completing this course, participants will gain the skills and knowledge to develop and deploy applications using Cloud Run. They will learn how to containerize applications, deploy them to Cloud Run, scale and manage services effectively, configure authentication and security measures, implement monitoring and logging, and optimize application performance on the platform.
Q: Is there any certification associated with this course?
A: This course is not directly associated with a specific certification. However, the knowledge and skills acquired through this course can be beneficial for individuals pursuing various Google Cloud certifications, such as the “Google Cloud Certified – Professional Cloud Developer” or “Google Cloud Certified – Associate Cloud Engineer” certifications.
Discover the perfect fit for your learning journey
Choose Learning Modality
Live Online
- Convenience
- Cost-effective
- Self-paced learning
- Scalability
Classroom
- Interaction and collaboration
- Networking opportunities
- Real-time feedback
- Personal attention
Onsite
- Familiar environment
- Confidentiality
- Team building
- Immediate application
Training Exclusives
This course comes with following benefits:
- Practice Labs.
- Get Trained by Certified Trainers.
- Access to the recordings of your class sessions for 90 days.
- Digital courseware
- Experience 24*7 learner support.
Got more questions? We’re all ears and ready to assist!