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, 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 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, 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 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 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], Handling Authentication and Authorization, Best Practices for Using Cloud Storage, Best Practices for Using Cloud Datastore, Performing Operations on Buckets and Objects, Best Practices for Application Development, Overview of Data Storage Options, Getting Started with Google Cloud Development, Best Practices for Cloud Application Development, Data Storage Options, Adding Intelligence to Your Application, Deploying Applications, Compute Options for Your Application, Monitoring and Performance Tuning, Introduction to Microservices, Event-Driven Applications, Choreography and Orchestration, Introduction to Cloud Functions, Calling and Connecting Cloud Functions, Securing Cloud Functions, Integrating with Cloud Databases, Best Practices, Debugging, and Tuning Performance, Using Pub/Sub to Integrate Components of Your Application, Using Cloud Functions for Event-Driven Processing, Managing APIs with Cloud Endpoints