Learn how to design, develop, and deploy applications that seamlessly
integrate components from the Google Cloud ecosystem. This course uses lectures, demos, and hands-on labs to show you how to use Google Cloud services and pre-trained machine learning APIs to build secure, scalable, and intelligent cloud-native applications.
This course teaches participants the following skills:
- Use best practices for application development.
- Choose the appropriate data storage option for application data.
- Implement federated identity management.
- Develop loosely coupled application components or microservices.
- Integrate application components and data sources.
- Debug, trace, and monitor applications.
- Perform repeatable deployments with containers and deployment services.
- Choose the appropriate application runtime environment; use Google Kubernetes Engine as a runtime environment and later switch to a no-ops solution with Google App Engine Flex.
Who Can Benefit
Application developers who want to build cloud-native applications or redesign existing applications that will run on Google Cloud
To get the most benefit from this course, participants should have the following prerequisites:
- Completed Google Cloud Fundamentals or have equivalent experience
- Working knowledge of Node.js
- Basic proficiency with command-line tools and Linux operating system environments
The course includes presentations, demonstrations, and hands-on labs.
Module 1: Best Practices for Application Development
- Code and environment management
- Design and development of secure, scalable, reliable, loosely coupled application components and microservices
- Continuous integration and delivery
- Re-architecting applications for the cloud
Module 2: Cloud Client Libraries, the Cloud SDK, and Firebase SDKs
- How to set up and use Google Cloud Client Libraries, Google Cloud SDK, and Google Firebase SDK
- Lab: Set up Google Client Libraries, Google Cloud SDK, and Firebase SDK on a Linux instance and set up application credentials
Module 3: Overview of Data Storage Options
- Overview of options to store application data
- Use cases for Google Cloud Storage, Google Cloud Datastore, Cloud Bigtable, Google Cloud SQL, and Cloud Spanner
Module 4: Best Practices for Using Datastore
- Best practices related to using Cloud Firestore in Datastore mode for:
- Built-in and composite indexes
- Inserting and deleting data (batch operations)
- Error handling
- Bulk-loading data into Cloud Firestore by using Google Cloud Dataflow
- Lab: Store application data in Cloud Datastore
Module 5: Best Practices for Using Cloud Storage
- Operations that can be performed on buckets and objects
- Consistency model
- Error handling
- Naming buckets for static websites and other uses
- Naming objects (from an access distribution perspective)
- Performance considerations
- Setting up and debugging a CORS configuration on a bucket
- Lab: Store files in Cloud Storage
Module 6: Handling Authentication and Authorization
- Cloud Identity and Access Management (IAM) roles and service accounts
- User authentication by using Firebase Authentication
- User authentication and authorization by using Cloud Identity-Aware Proxy
- Lab: Authenticate users by using Firebase Authentication
Module 7: Using Pub/Sub to Integrate Components of Your Application
- Topics, publishers, and subscribers
- Pull and push subscriptions
- Use cases for Cloud Pub/Sub
- Lab: Develop a backend service to process messages in a message queue
- Understand Pub/Sub topics, publishers, and subscribers.
Module 8: Adding Intelligence to Your Application
- Overview of pre-trained machine learning APIs such as Cloud Vision API and Cloud Natural Language Processing API.
Module 9: Using Cloud Functions for Event-Driven Processing
- Key concepts such as triggers, background functions, HTTP functions
- Use cases
- Developing and deploying functions
- Logging, error reporting, and monitoring
Module 10: Managing APIs with Google Cloud Endpoints
- Open API deployment configuration
- Lab: Deploy an API for your application
Module 11: Deploying Applications
- Creating and storing container images
- Repeatable deployments with deployment configuration and templates
- Lab: Use Deployment Manager to deploy a web application into Google App Engine flexible environment test and production environments
Module 12: Execution Environments for Your Application
- Considerations for choosing an execution environment for your application or service:
- Google Compute Engine (GCE)
- Google Kubernetes Engine (GKE)
- App Engine flexible environment
- Cloud Functions
- Cloud Dataflow
- Cloud Run
- Lab: Deploying your application on App Engine flexible environment
Module 13: Debugging, Monitoring, and Tuning Performance
- Application Performance Management Tools
- Stackdriver Debugger
- Stackdriver Error Reporting
- Lab: Debugging an application error by using Stackdriver Debugger
- and Error Reporting
- Stackdriver Logging
- Key concepts related to Stackdriver Trace and Stackdriver Monitoring
- Lab: Use Stackdriver Monitoring and Stackdriver Trace to trace a request across services, observe, and optimize performance
- Debug an application error by using Cloud Debugger and Error Reporting.
- Use Cloud Monitoring and Cloud Trace to trace a request across services, observe, and optimize performance.