Developing Applications with Google Cloud (DAGCP) – Outline

Detailed 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 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