Course 793C:
Architecting Applications in the Cloud

(3 days)


Course Overview

The cloud offers powerful yet affordable capabilities that allow your applications to be scalable, fault-tolerant, performant, and secure. An understanding of what services to use to achieve these capabilities is essential when architecting cloud-based systems. This course covers how to choose compute, storage, big data, and deployment options when architecting your systems.

Learning Objectives

  • Deploy to regions and zones for fault-tolerance and disaster recovery
  • Enable auto-scaling, load balancing, and health monitoring to optimize performance and cost
  • Choose the right compute and storage services for your applications
  • Architect service-oriented applications using REST and microservices
  • Secure your applications in the cloud

Who Should Attend

Architects, developers, programmers, and analysts working on cloud-based applications or migrating existing applications to the cloud. Some previous experience using a public cloud like Amazon Web Services or Google Cloud platform is assumed.

Students can choose to do the exercises using either Amazon Web Services or Google Cloud Platform.


An understanding of cloud services, big data analysis, web and cloud development to the level of Course 793B: Programming Microservice and Big Data Applications in the Cloud. Prior experience architecting distributed systems is helpful.

Course Outline

  • Overview of Cloud Architecture
    • Understanding Regions and Zones
    • Fault Tolerance
    • Disaster Recovery
    • Activity: Architecting for Fault Tolerance and Disaster Recovery
    • Distributed Computing
    • Elastic Scalability
    • Load Balancing
    • Health Monitoring
    • Activity: Monitoring, Scaling, and Load Balancing
    • Dealing with Latency
    • Performance
    • Activity: Dealing with Latency

  • Choosing Compute Service
    • Understanding Which Services to Use
    • Advantages of IaaS
    • Lift and Shift
    • Extending Data Centers into the Cloud
    • Advantages of PaaS
    • Containers
    • Advantages of Containers
    • Container Orchestration
    • Understanding Cost
    • Case Studies
    • Activity: Choosing Compute Services

  • Choosing Data Sources
    • Traditional vs. Cloud Data Considerations
    • Binary Storage
    • Data Archiving
    • Structured vs. Unstructured Data
    • Relational vs. NoSQL Storage
    • Managed Relational
    • NoSQL
    • Understanding Storage Costs
    • Activity: Comparing Data Storage Options
    • Big Data
    • Activity Choosing Data Storage Options

  • Architecting Web Applications
    • Load Balancing
    • Elastic Scalability
    • Activity: Scaling and Load Balancing
    • Message Queueing
    • Dealing with Failure
    • Server-Side Code
    • JavaScript Frameworks
    • Activity: Architecting Web Applications

  • Architecting Web Services
    • Service-Oriented Architecture
    • Microservice Architecture
    • Activity: Architecting Microservices
    • SOAP
    • REST
    • Discovery
    • XML
    • JSON
    • Activity: Programming REST Web Services

  • Understanding Cloud Security
    • IAM
    • User Accounts
    • Service Accounts
    • Roles and Permissions
    • OAuth2
    • Authorization
    • Activity: Understanding IAM

  • Course Summary

Please Contact Your ROI Representative to Discuss Course Tailoring!