Developing Applications with Google Cloud

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

Audience:

Application developers who want to build cloud-native applications or redesign existing applications that will run on Google Cloud Platform

 

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

      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 Google Cloud Datastore

  • Best practices related to the following: Queries Built-in and composite indexes Inserting and deleting data (batch operations) Transactions Error handling
  • 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 Google 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: 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 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 Google 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: Managing APIs with Google Cloud Endpoints

  • Open API deployment configuration

      Lab: Deploy an API for your application

Module 12: Deploying an Application by Using Google Cloud Cloud Build, 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 flexible environment test and production environments

Module 13: Execution Environments for Your Application

  • Considerations for choosing an execution environment for your application or service: Google Compute Engine Kubernetes Engine App Engine flexible environment Cloud Functions Cloud Dataflow
  • Google Compute Engine
  • Kubernetes Engine
  • App Engine flexible environment
  • Cloud Functions
  • Cloud Dataflow

      Lab: Deploying your application on App Engine flexible environment

Module 14: Debugging, Monitoring, and Tuning Performance by Using Google Stackdriver

  • 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