Course CPD200:
Developing Solutions for Google Cloud Platform

(3 days)

 

Course Description

This 3-day instructor-led class introduces participants to solution development for Google Cloud Platform. Through a combination of instructor-led presentations, demonstrations, and hands-on labs, students learn how to develop cloud-based applications using Google App Engine Standard Environment, Google Cloud Datastore, and Google Cloud Endpoints.

Learning Objectives

At the end of this one-day course, participants will be able to:

  • Build scalable and reliable applications using Google App Engine Standard Environment
  • Leverage Google Cloud Endpoints to implement, deploy, and manage API backends
  • Create microservice-based applications using App Engine services
  • Manage application security, versioning, deployment, and monitoring
  • Store application data, optimize query performance, and use transactions in Google Cloud Datastore
  • Provide improved performance and capacity with Memcache and instance scaling

Who Should Attend

This class is intended for experienced application developers who want to learn how to migrate applications to the cloud or to create native, cloud-based applications on Google Cloud App Engine.

Prerequisites

Before attending this course, participants should have:

  • CP100A – Google Cloud Platform Fundamentals (or equivalent experience)
  • Basic proficiency with command-line tools and Linux operating system environments
  • Experience developing applications and APIs using a common programming language such as Java or Python
  • Prior experience deploying and managing applications, either on-premises or in a public cloud environment

Modules

Module 1: Developing Solutions for Google Cloud Platform

  • Benefits of Google Cloud Platform
  • Development tools and services for Google Cloud Platform
  • Google Cloud Platform solution architectures

Lab: Google Cloud Source Repositories

Learning Objectives
  • Create a project for the course
  • Use Google Cloud Shell to develop and test an application using the App Engine SDK
  • Configure Google Cloud Source Repositories to remotely host code in Google Cloud Platform

Module 2: Google Cloud Endpoints

  • Cloud Endpoints features
  • Developing APIs using Cloud Endpoints
  • Accessing Cloud Endpoints APIs using JavaScript clients

Lab: Google Cloud Endpoints

Learning Objectives
  • Review and edit Cloud Endpoints source code
  • Deploy an application to App Engine
  • Test a Cloud Endpoints API in the APIs Explorer

Module 3: App Engine Services

  • Modular application design and App Engine services
  • Deploying services
  • Accessing App Engine services

Lab: Google App Engine Services

Learning Objectives
  • Review the code for a sample application used throughout the remainder of the course
  • Deploy multiple App Engine services to a single project

Module 4: User Authentication and Credentials

  • Authentication and authorization concepts
  • Securing access through application configuration
  • Authentication with the Users service
  • Authorization with API keys, OAuth, and application default credentials

Lab: User Authentication

Learning Objectives
  • Configure the OAuth consent screen and create a client ID
  • Modify Conference Central to use your client ID
  • Test Conference Central authentication
  • Modify your admin service to require administrator rights

Module 5: Managing App Engine Applications

  • Deploying and managing multiple application versions
  • Traffic splitting, incremental rollouts, and canary releases
  • Budgets and quotas
  • Stackdriver logging and application tracing

Lab: Managing Google App Engine Applications

Learning Objectives
  • Review App Engine settings, quotas, instances, and logs
  • Update App Engine services to log to Cloud Logging
  • Deploy new versions of your default and admin services
  • Route all traffic to a new version of the default service

Module 6: Storage for Solution Developers

  • Functionality and benefits of Cloud Platform storage options
  • Using Google Cloud Storage for immutable BLOB storage
  • Integrating Google Cloud SQL into App Engine Apps
  • Cloud Datastore fundamentals

Lab: Google Cloud Datastore

Learning Objectives
  • Update an existing application to save data persistently
  • Test saving application data to Cloud Datastore
  • List and view Cloud Datastore entities in the Google Cloud Platform Console

Module 7: Queries and Indexes

  • Implementing query filters with Cloud Datastore
  • Single-property and composite indexes
  • Configuring and optimizing indexes

Lab: Google Cloud Datastore Queries and Indexes

Learning Objectives
  • Add support for querying entities by kind and ancestor
  • Add query filters to Cloud Datastore searches
  • Update an index configuration to support composite indexes

Module 8: Entity Groups, Consistency, and Transactions

  • Strong and eventual consistency in Cloud Datastore
  • Ensuring strongly consistent queries
  • Best practices for Cloud Datastore transactions

Lab: Google Cloud Datastore Transactions

Learning Objectives
  • Add support for using Cloud Datastore transactions to an application
  • Add a Cloud Endpoint API method to view data from a different service

Module 9: App Engine Performance and Optimization

  • Memcache use cases and implementation patterns
  • Manual, basic, and automatic scaling behavior
  • Configuring application scaling

Lab: Google App Engine Performance and Optimization

Learning Objectives
  • Review Cloud Trace reports for an application
  • Configure and run a security scan for an application
  • Update an application to make use of memcache
  • Configure and test application scaling for application services

Module 10: Task Queues

  • Push and pull queue capabilities and configuration
  • Adding and consuming tasks with push and pull queues
  • Scheduling tasks with the Cron Service

Lab: Task Queue API

Learning Objectives
  • Add a task handler to send an email using the Mail API
  • Add a Cron Service handler and configuration to an existing application

Lab: Deleting Google Cloud Platform Projects and Resources

Learning Objectives
  • Export Google Cloud Platform data from a project
  • Delete Google Cloud Platform resources
  • Shut down a Google Cloud Platform project