Developing Applications with Google Cloud
(3 days)
In this three-day instructor-led course, you learn the fundamentals of application development on Google Cloud. You learn best practices for designing cloud applications, and how to choose compute and data options for your apps. You learn about authentication and authorization, generative AI for developers, and continuous integration and delivery for your apps running in Google Cloud. You learn about event-based applications and the use of service orchestration and choreography to coordinate microservices. You learn about Cloud Functions, which allows you to implement single-purpose functions that respond to HTTP requests and process events within your cloud infrastructure.
Objectives
- Discuss best practices for application development in the cloud
- Understand how to choose the appropriate data storage option for application use cases
- Use authentication and authorization to secure an application
- Describe use cases for the different Google Cloud compute options used for running applications
- Describe the benefits and challenges of microservice-based architectures
- Describe the advantages of event-driven applications
- Identify the strengths of orchestration and choreography
- Use Workflows, Eventarc, Cloud Tasks, and Cloud Scheduler to coordinate a microservices application on Google Cloud
- Recognize the benefits of and use cases for Cloud Functions in modern application development
- Understand how to build, test, and deploy Cloud Functions
- Secure and connect Cloud Functions to resources and cloud databases
- Use best practices with Cloud Functions
Audience
Application developers, architects, and cloud engineers.
Prerequisites
- Programming experience is recommended
- Basic proficiency with command-line tools and Linux operating system environments is helpful
Course Outline
Module 1: Best Practices for Cloud Application Development
- Discuss best practices for application development in the cloud
- Describe patterns for improving stability and reliability of cloud applications
Module 2: Getting Started with Google Cloud Development
- Discuss how the Google Cloud SDK lets you interact with Google Cloud services
- Describe how Cloud Client Libraries can be used in your applications
- Discuss how Cloud Code helps developers create cloud applications on Google Cloud
Module 3: Data Storage Options
- Understand how to choose the appropriate data storage option for application use cases
- Use Firestore to store document-based application data
- Use Cloud Storage to store unstructured data
Module 4: Handling Authentication and Authorization
- Discuss how Identity-Aware Proxy authenticates application users
- Describe the use of federated identity for applications in Google Cloud
- Describe how to authenticate your application to Google Cloud APIs based on how your application is deployed
- Use authentication and authorization to secure an application
Module 5: Adding Intelligence to Your Application
- Describe how pretrained machine learning APIs can be called from applications
- Differentiate the use cases for Google Cloud’s pretrained machine learning APIs
- Use a Google Cloud pretrained machine-learning API in an application
Module 6: Deploying Applications
- Discuss the features of a continuous integration and delivery pipeline
- Describe how to build and store application container images
- Create a container image by using Cloud Build
Module 7: Compute Options for Your Application
- Describe use cases for the different compute options used for running applications on Google Cloud
- Differentiate the benefits of different compute options on Google Cloud
Module 8: Monitoring and Performance Tuning
- Recognize the four golden signals
- Describe benefits of the services in Google Cloud’s operations suite
Module 9: Introduction to Microservices
- Describe the differences between monolithic applications, service-oriented architecture (SOA), and microservices
- Describe the benefits and challenges of microservice-based architectures
Module 10: Event-Driven Applications
- List the characteristics of an event
- Describe the advantages of event-driven applications
Module 11: Choreography and Orchestration
- Understand how Pub/Sub and Eventarc can be used to connect services by using the choreography pattern
- Explain the benefits of using CloudEvents for event metadata
- Understand how Workflows can be used to orchestrate services
- Differentiate the use cases for choreography and orchestration
- Use Workflows, Eventarc, Cloud Tasks, and Cloud Scheduler to coordinate a microservices application on Google Cloud
Module 12: Introduction to Cloud Functions
- Define Cloud Functions
- Identify the use cases, features, and benefits of Cloud Functions
- Distinguish the types of Cloud Functions, and identify the supported languages for developing functions
- Develop and deploy a Cloud Function using the Google Cloud console and gcloud CLI
Module 13: Calling and Connecting Cloud Functions
- Understand the different kinds of triggers available, and learn how to specify triggers for functions
- Connect services and functions with workflows
- Connect functions to resources in a VPC network
Module 14: Securing Cloud Functions
- Secure Cloud Functions with identity and network-based access controls
- Understand function identity
- Understand how to authenticate and authorize access to functions for invocation and administration
- Protect functions and related data with encryption keys
Module 15: Integrating with Cloud Databases
- Integrate Cloud Functions with cloud databases such as Firestore and Memorystore
- Use secrets with Cloud Functions
- Use environment variables with Cloud Functions
Module 16: Best Practices
- Use best practices when developing and implementing Cloud Functions
- Understand how to retry event-driven Cloud Functions on failure