Module 1 — Application Development Best Practices
Explore the core design and development practices used when creating applications for cloud environments.
- Managing code and development environments
- Designing secure, scalable and reliable application components
- Developing loosely coupled architectures
- Designing and developing microservices
- Continuous Integration and Continuous Delivery
- Re-architecting existing applications for the cloud
Module 2 — Google Cloud Client Libraries, Cloud SDK and Firebase SDK
Learn how the principal SDKs and client libraries can be configured and used during Google Cloud application development.
- Setting up and using Google Cloud Client Libraries
- Configuring Google Cloud SDK
- Working with Firebase SDK
- Configuring application credentials
Lab: Set up Google Client Libraries, Google Cloud SDK and Firebase SDK on a Linux instance and configure application credentials.
Module 3 — Data Storage Options
Compare the different services available for storing application data in Google Cloud.
- Application data storage options
- Google Cloud Storage use cases
- Google Cloud Datastore
- Cloud Bigtable
- Google Cloud SQL
- Cloud Spanner
- Selecting storage services according to application requirements
Module 4 — Best Practices for Google Cloud Datastore
Explore practical approaches for working effectively with data in Cloud Datastore.
- Queries
- Built-in and composite indexes
- Batch insertion and deletion operations
- Transactions
- Error handling
- Bulk loading data into Cloud Datastore with Google Cloud Dataflow
Lab: Store application data in Cloud Datastore.
Module 5 — Working with Buckets and Objects
Examine the operations available when managing buckets and objects.
- Operations performed on buckets
- Object operations
- Consistency model
- Error handling
Module 6 — Best Practices for Google Cloud Storage
Explore approaches for using Cloud Storage effectively across different application scenarios.
- Naming buckets for static websites and other use cases
- Object naming from an access-distribution perspective
- Performance considerations
- Configuring CORS on a bucket
- Troubleshooting CORS configurations
Lab: Store files in Cloud Storage.
Module 7 — Authentication and Authorisation
Learn how users and services can be securely authenticated and authorised.
- Cloud Identity and Access Management (IAM) roles
- Service accounts
- User authentication with Firebase Authentication
- Authentication and authorisation with Cloud Identity-Aware Proxy
Lab: Authenticate users with Firebase Authentication.
Module 8 — Integrating Application Components with Cloud Pub/Sub
Explore how Cloud Pub/Sub can support message-based communication between application components.
- Topics
- Publishers and subscribers
- Pull subscriptions
- Push subscriptions
- Cloud Pub/Sub use cases
Lab: Develop a backend service that processes messages from a message queue.
Module 9 — Adding Intelligence to Applications
Explore how Google's pre-trained machine learning capabilities can be incorporated into applications.
- Overview of pre-trained machine learning APIs
- Cloud Vision API
- Cloud Natural Language Processing API
- Integrating ML capabilities into applications
Module 10 — Event-Driven Processing with Google Cloud Functions
Learn how serverless functions can respond to events and HTTP requests.
- Triggers
- Background functions
- HTTP functions
- Cloud Functions use cases
- Developing and deploying functions
- Logging
- Error reporting
- Monitoring
Module 11 — Managing APIs with Google Cloud Endpoints
Explore how application APIs can be configured and deployed.
- Google Cloud Endpoints
- OpenAPI deployment configuration
- API deployment workflow
Lab: Deploy an API for an application.
Module 12 — Deployment with Cloud Build, Container Registry and Deployment Manager
Learn how applications can be packaged and deployed through repeatable deployment processes.
- Creating container images
- Storing container images
- Deployment configurations
- Deployment templates
- Creating repeatable deployments
Lab: Use Deployment Manager to deploy a web application to App Engine flexible environment test and production environments.
Module 13 — Application Execution Environments
Compare Google Cloud execution environments and consider which option is appropriate for different application and service requirements.
- Google Compute Engine
- Kubernetes Engine
- App Engine flexible environment
- Cloud Functions
- Cloud Dataflow
- Selecting an execution environment according to application requirements
Lab: Deploy an application on App Engine flexible environment.
Module 14 — Debugging, Monitoring and Performance Tuning
Explore tools for identifying application problems, monitoring services and analysing performance.
- Stackdriver Debugger
- Stackdriver Error Reporting
- Stackdriver Logging
- Stackdriver Trace
- Stackdriver Monitoring
- Tracing requests across services
- Observing and optimising application performance
Labs:
- Diagnose an application error with Stackdriver Debugger and Error Reporting
- Use Stackdriver Monitoring and Trace to follow a request across services and evaluate application performance