This three-day course will allow you to get the most out of Google Cloud Run, a managed compute platform that lets you run containers directly on top of Google's scalable infrastructure.
Through a combination of lectures, hands-on labs, and supplemental materials, you’ll learn how to design, implement, deploy, secure, manage, and scale applications on Google Cloud using Cloud Run.
You can deploy code written in any programming language on Cloud Run if you can build a container image from it. In fact, building container images is optional. If you're using Go, Node.js, Python, Java, .NET Core, or Ruby, you can use the source-based deployment option that builds the container for you, using the best practices for the language you're using.
Our Application Development with Cloud Run course is available as a private training session that can be delivered via Virtual Classroom or at a location of your choice in South Africa.
Course overview
Who should attend:
This course is suitable for Cloud developers, API developers, customers, and partners.
What you'll learn:
By the end of this course, you will be able to:
- Understand 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
- Build highly available applications with low end-user latency, globally
- 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
Prerequisites
To get the most out of this course, you should have:
- Familiarity with Linux commands and command line interface
- A basic understanding of Google Cloud
- A basic understanding of Networking
- A basic understanding of one or more programming languages like Go, Python, Java, Ruby or Node.js
- A basic understanding of shell scripts, YAML, JSON, HTTP, and TLS
Course agenda
- Overview of Cloud Run
- Language, library and binary considerations
- Port and respond to HTTP requests
- Using a docker repository on Artifact Registry
- Cloud Run autoscaling
- Pay for use pricing model
- Background tasks
- Storing data downstream
- Portable Cloud Run (containers and Knative)
- The contents of a container image (deep dive)
- Building container images: buildpacks (hands-off) and docker (you're in control)
- Source-based and a container image-based workflow
- Considerations of building a secure container image
- Container lifestyle (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 version
- Traffic steering (tagging, gradual rollouts)
- Cloud IAM
- Cloud Run: default service account
- Risks of using the default service account
- Custom domains
- Global load balancer (URL Map; frontend; backend services)
- GLB and custom domain
- Types of GLB backends
- Multi-region load balancing
- Multi-regional applications challenges
- Cloud CDN
- Ingress settings
- Cloud Armour
- Using Cloud IAM to protect services
- VPC, VPC access connector
- Egress settings
- Storing data externally when running a workload on Cloud Run
- Connect with Cloud SQL from Cloud Run
- Managing concurrency
- Connecting with Memorystore
- VPC connector
- Cloud Storage, Firestore, and Cloud Spanner
- Multi-region data storage
- Understanding Cloud Pub / Sub
- Schedule background tasks
- Cloud Tasks, and Cloud Pub / Sub
- Using Pub / Sub to pass messages
- Integration with Google Cloud Services
- Cloud Scheduler
- CloudEvents
- EventArc and Audit Logs
- 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