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]