Developing Applications with Google Cloud 

(3 days)

 

Learn how to design, develop, and deploy applications that seamlessly integrate components from the Google Cloud ecosystem. This course uses lectures, demos, and hands-on labs to show you how to use Google Cloud services and pretrained machine learning APIs to build secure, scalable, and intelligent cloud-native applications.

 

Objectives

  • 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

Audience

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

Prerequisites

To get the most out of this course, participants should have:

  • Completed Google Cloud Fundamentals: Core Infrastructure or have equivalent experience
  • Working knowledge of Node.js, Python, or Java
  • Basic proficiency with command-line tools and Linux operating system environments

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:​​ Getting Started with Google Cloud Development

  • 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

Module​ ​​3:​​ Overview of Data Storage Options

  • 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

Module​ ​​4:​​ Best Practices for Using Datastore

  • 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

Module​ ​​5:​​ Performing Operations on Buckets and Objects

  • 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

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
  • Lab: Storing Image and Video Files in Cloud Storage

Module​ ​​7: Handling Authentication and Authorization

  • 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

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

  • Topics, Publishers, and Subscribers
  • Pull and Push Subscriptions
  • Use cases for Pub/Sub
  • Lab: Developing a Backend Service

Module​ ​​9: Adding Intelligence to Your Application

  • Overview of Pre-Trained Machine Learning APIs such as the Vision API and the 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
  • Demo: Invoke Cloud Functions Through Direct Request-response
  • Lab: Processing Pub/Sub Data using Cloud Functions

Module​ ​​11: Managing APIs with Cloud Endpoints

  • Open API Deployment Configuration
  • Lab: Deploying an API for the Quiz Application

Module​ ​​12: Deploying Applications

  • 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

Module​ ​​13: Compute Options for Your Application

  • 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

Module​ ​​14: Debugging, Monitoring, and Tuning Performance

  • Google Cloud’s operations suite
  • Managing performance
  • Lab: Debugging Application Errors