Developing Applications with Google Cloud (DAGCP) – Outline

Detailed Course Outline

Module 1: Best Practices for Application Development

Topics:

  • 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

Objectives:

  • Design and develop secure, scalable, reliable, loosely coupled application components and microservices.
  • Understand how to rearchitect applications for the cloud.

Activities:

  • Module quiz

Module 2 - Getting Started with Google Cloud Development

Topics:

  • Overview of Google Cloud services for apps and scripts:
    • Google Cloud APIs
    • Cloud SDK
    • Cloud Client Libraries
    • Cloud Shell
    • Cloud Code
  • Demo: Google APIs Explorer
  • Lab: Setting up a Development Environment

Objectives:

  • Identify different Google Cloud services for hosting applications and scripts.

Activities:

  • 1 demo, 1 lab,1 quiz

Module 3 - Overview of Data Storage Options

Topics:

  • Overview of options to store application data
  • Use cases for Cloud Storage, Firestore, Cloud Bigtable, Cloud SQL, and Cloud Spanner
  • Demo: Connecting Securely to a Cloud SQL Database

Objectives:

  • Choose the appropriate data storage option for application data.

Activities:

  • 1 demo, 1 quiz

Module 4 - Best Practices for Using Datastore

Topics:

  • Best practices related to using Firestore in Datastore mode for:
    • Queries
    • Built-in and composite indexes
    • Inserting and deleting data (batch operations)
    • Transactions
    • Error handling
  • Demo: Explore Datastore
  • Demo: Use Dataflow to Bulk-load Data into Datastore
  • Lab: Storing Application Data in Datastore

Objectives:

  • Bulk-load data into Firestore by using Dataflow
  • Understand best practices related to queries, built in and composite indexes, inserting and deleting data (batch data operations), and transactions error handling.

Activities:

  • 2 demos, 1 lab, 1 quiz

Module 5 - Performing Operations on Buckets and Objects

Topics:

  • Cloud Storage concepts
  • Consistency model
  • Demo: Explore Cloud Storage
  • Request endpoints
  • Composite objects and parallel uploads
  • Truncated exponential backoff
  • Demo: Enable CORS Configuration in Cloud Storage

Objectives:

  • Understand Cloud Storage concepts.
  • Differentiate between strongly consistent and eventually consistent operations.
  • Access Cloud Storage through request endpoints.
  • Use object composition to upload an object in parallel.
  • Use truncated exponential backoff to deal with network failures.

Activities:

  • 2 demos, 1 quiz

Module 6 - Best Practices for Using Cloud Storage

Topics:

  • Naming buckets for static websites and other uses
  • Naming objects (from an access distribution perspective)
  • Performance considerations
  • Lab: Storing Image and Video Files in Cloud Storage

Objectives:

  • Understand how to name buckets for static websites and other uses, how to name objects (from an access distribution perspective, and performance considerations.

Activities:

  • 1 lab and 1 quiz

Module 7 - Handling Authentication and Authorization

Topics:

  • Identity and Access Management (IAM) roles and service accounts
  • User authentication by using Firebase Authentication
  • User authentication and authorization by using Identity-Aware Proxy
  • Lab: Adding User Authentication to your Application

Objectives:

  • Implement federated identity management

Activities:

  • 1 lab and 1 quiz

Module 8 - Using Pub/Sub to Integrate Components of Your Application

Topics:

  • Topics, publishers, and subscribers
  • Pull and push subscriptions
  • Use cases for Pub/Sub
  • Lab: Developing a Backend Service

Objectives:

  • Understand Pub/Sub topics, publishers, and subscribers.
  • Understand pull and push subscriptions.
  • Explore use cases for Pub/Sub.

Activities:

  • 1 lab, 1 quiz

Module 9 - Adding Intelligence to Your Application

Topics:

  • Overview of pre-trained machine learning APIs such as the Vision API and the Cloud Natural Language Processing API.

Objectives:

  • Explore pre-trained machine learning APIs such as Cloud Vision API and Cloud Natural Language API.

Activities:

  • 1 quiz

Module 10 - Using Cloud Functions for Event-Driven Processing

Topics:

  • Key concepts such as triggers, background functions, HTTP functions
  • Use cases
  • Developing and deploying functions
  • Logging, error reporting, and monitoring
  • Demo: Invoke Cloud Functions Through Direct Request-response
  • Lab: Processing Pub/Sub Data using Cloud Functions

Objectives:

  • Use Cloud Functions for event-driven processing.

Activities:

  • 1 demo, 1 lab, 1 quiz

Module 11 - Managing APIs with Cloud Endpoints

Topics:

  • Open API deployment configuration
  • Lab: Deploying an API for the Quiz Application

Objectives:

  • Understand OpenAPI deployment configuration.

Activities:

  • 1 lab, 1 quiz

Module 12 - Deploying Applications

Topics:

  • Creating and storing container images
  • Repeatable deployments with deployment configuration and templates
  • Demo: Exploring Cloud Build and Cloud Container Registry
  • Lab: Deploying the Application into Kubernetes Engine

Objectives:

  • Understand how to create and store container images.
  • Create repeatable deployments with deployment configuration and templates.

Activities:

  • 1 demo, 1 lab, 1 quiz

Module 13 - Compute Options for Your Application

Topics:

  • Considerations for choosing a compute option for your application or service:
    • Compute Engine
    • Google Kubernetes Engine (GKE)
    • Cloud Run
    • Cloud Functions
  • Platform comparisons.
    • Comparing App Engine and Cloud Run

Objectives:

  • Explore considerations for choosing a compute option for your application or service.

Activities:

  • 1 quiz

Module 14 - Debugging, monitoring, and Tuning Performance

Topics:

  • Google Cloud’s operations suite
  • Managing performance
  • Lab: Debugging Application Errors
  • Logging
  • Monitoring and tuning performance
  • Identifying and troubleshooting performance issues
  • Lab: Harnessing Cloud Trace and Cloud Monitoring

Objectives:

  • Debug an application error by using Cloud Debugger and Error Reporting.
  • Use Cloud Monitoring and Cloud Trace to trace a request across services, observe, and optimize performance.

Activities:

  • 1 demo, 2 labs, 1 quiz

[/list]