Course Overview
In this course, application developers learn how to design, develop, and deploy applications that seamlessly integrate components from the Google Cloud ecosystem. Through a combination of presentations, demos, and hands-on labs, participants learn how to use GCP services and pre-trained machine learning APIs to build secure, scalable, and intelligent cloud-native applications.
Who should attend
Application developers who want to build cloud-native applications or redesign existing applications that will run on Google Cloud Platform.
Prerequisites
To get the most of out of this course, participants should have:
- Completed Google Cloud Platform Fundamentals or have equivalent experience
- Working knowledge of Node.js
- Basic proficiency with command-line tools and Linux operating system environments
Course Objectives
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 Container Engine as a runtime environment and later switch to a no-ops solution with Google App Engine Flex
Follow On Courses
Course Content
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: Google Cloud Client Libraries, Google Cloud SDK, and Google Firebase SDK
- 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 Cloud Datastore
- Best practices related to the following:
- Queries
- Built-in and composite indexes
- Inserting and deleting data (batch operations)
- Transactions
- Error handling
- Bulk-loading data into Cloud Datastore by using Google Cloud Dataflow
- Lab: Store application data in Cloud Datastore
Module 5: Performing Operations on Buckets and Objects
- Operations that can be performed on buckets and objects
- Consistency model
- Error handling
Module 6: Best Practices for Using Cloud Storage
- 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 7: Securing Your Application
- 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 8: Using Google Cloud 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
Module 9: Adding Intelligence to Your Application
- Overview of pre-trained machine learning APIs such as Cloud Vision API and Cloud Natural Language Processing API
Module 10: 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 11: Using Cloud Endpoints to Deploy APIs
- Open API deployment configuration
- Lab: Deploy an API for your application
Module 12: Debugging Your Application by Using Google Stackdriver
- Stackdriver Debugger
- Stackdriver Error Reporting
- Lab: Debugging an application error by using Stackdriver Debugger and Error Reporting
Module 13: Deploying an Application by Using Google Cloud Container Builder, Google Cloud Container Registry, and Google Cloud Deployment Manager
- 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 Flex test and production environments
Module 14: Execution Environments for Your Application
- Considerations for choosing an execution environment for your application or service:
- Google Compute Engine
- Container Engine
- App Engine Flex
- Cloud Functions
- Cloud Dataflow
- Lab: Deploying your application on App Engine Flex
Module 15: Monitoring and Tuning Performance
- Best practices and watchpoints for performance
- Key concepts related to Stackdriver Trace and Stackdriver Monitoring
- Detecting and resolving performance issues
- Lab: Use Stackdriver Monitoring and Stackdriver Trace to trace a request across services, observe, and optimize performance