Duration:

3 Day

Audience:

Employees of federal, state and local governments; and businesses working with the government.
This course is great for application developers who want to build cloud-native applications or redesign existing applications that will run on Google Cloud Platform

Course Overview:

This course was formerly titled “Developing Solutions with Google Cloud Platform” (CPD200). 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.

What You’ll Learn:

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.

Course Outline:

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

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

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

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

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

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

Module 12: Debugging Your Application by Using Google Stackdriver

  • Stackdriver Debugger
  • Stackdriver 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

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

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

Labs:

Module 2: 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 4: Best Practices for Using Cloud Datastore

  • Lab: Store application data in Cloud Datastore

Module 6: Best Practices for Using Cloud Storage

  • Lab: Store files in Cloud Storage

Module 7: Securing Your Application

  • Lab: Authenticate users by using Firebase Authentication

Module 8: Using Google Cloud Pub/Sub to Integrate Components of Your Application

  • Lab: Develop a backend service to process messages in a message queue

Module 11: : Using Cloud Endpoints to Deploy APIs

  • Lab: Deploy an API for your application

Module 12: Debugging Your Application by Using Google Stackdriver

  • 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

  • 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

  • Lab: Deploying your application on App Engine Flex

Module 15: Monitoring and Tuning Performance

  • Lab: Use Stackdriver Monitoring and Stackdriver Trace to trace a request across services, observe, and optimize performance