Course 838:
Architecting Systems in the Cloud

(3 days)

 

Course Description

Cloud Architects help shape an organization’s cloud strategy and are responsible for mapping the requirements of a project or the business challenges into a cloud design and architecture. 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 in the cloud. This knowledge can be used to architect your cloud-based systems to be scalable, fault-tolerant, performant, and secure.

Learning Objectives

  • Leverage cloud technologies for reliable, cost-effective IT infrastructure
  • Understand use cases for Infrastructure as a Service, Platform as a Service, and serverless deployments
  • Containerize applications for portable hybrid- and multi-cloud deployments
  • Choose the right storage services for your applications
  • Architect scalable, highly-available web applications and services
  • Secure your system infrastructure and data in the cloud
  • Run Big Data and Machine Learning applications in the cloud
  • Plan application and database migrations to the cloud

Who Should Attend

Architects, developers, programmers, and analysts working on cloud-based applications or migrating existing applications to the cloud. Some previous operations​ ​experience,​ ​including​ ​deploying​ ​and​ ​managing​ IT systems,​ ​either​ ​on-premises​ ​or​ ​in​ ​a​ ​public​ ​cloud  environment is assumed. Prior experience architecting distributed systems is helpful.  

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


Course Outline

 

1. Overview of Cloud Architecture

  • Architecting Reliable Solutions
    • Understanding Regions and Zones
    • Fault Tolerance
    • Disaster Recovery
    • Load Balancing
    • Health Monitoring
    • Activity: Architecting for Fault Tolerance
  • Disaster Planning
    • Analyzing Disaster Scenarios 
    • Risk Analysis
    • Disaster Recovery Plans
    • Activity: Disaster Planning
  • Architecting for Scalability and Performance
    • Vertical vs. Horizontal Scaling
    • Distributed Computing
    • Elastic Scalability
    • Dealing with Latency
    • Performance
    • Activity: Architecting for Scalability and Performance

2. Choosing Compute Services

  • Linux Basics
    • Distributions
    • SSH
    • Bash Shell
    • File System Commands
    • Installing Apps with Apt or Yum
    • Running Startup Scripts
  • Infrastructure as a Service
    • Extending Data Centers into the Cloud
    • Advantages of IaaS
    • VCPs
    • VMs
    • Exercise: Deploying Apps to VMs
  • Platform as a Service
    • PaaS Solutions
    • Advantages of PaaS
    • Leverage PaaS for Automated Deployments
    • Serverless Services Options
    • Pros and Cons of Serverless Services
    • Exercise: Deploying Apps to PaaS
  • Understanding Cost
    • Case Studies
    • Activity: Choosing Compute Services

3. Hybrid and Multi-Cloud Architecture

  • Portability
    • Hybrid Cloud 
    • Multi-Cloud
    • Cloud-Native Development
  • Containers
    • Advantages of Containers
    • Docker
    • Building Docker Images
    • Running Containers
    • Exercise: Building Docker Images
  • Container Orchestration
    • Kubernetes
    • Advantages of Kubernetes
    • Clusters
    • Kubernetes Configuration
    • Exercise: Kubernetes

4. Choosing Data Storage Services

  • Storage Considerations
    • Traditional vs. Cloud Data Considerations
    • Storage Types Overview
    • Availability
    • Durability
    • Structured vs. Unstructured Data
  • Data Storage
    • Binary Storage
    • Block Storage
    • NAS Services
    • Data Warehousing
    • Data Archiving
  • Databases
    • Overview of Databases
    • Relational Databases
    • NoSQL Databases 
    • Horizontal vs. Vertical Scaling
    • Distributed Databases
    • Strong vs. Eventual Consistency
    • Failover Replicas
    • Read Replicas
    • Managed Relational and NoSQL Databases
    • Understanding Storage Costs
    • Activity: Evaluating Data Storage Solutions
  • Securing Cloud Data
    • Networking Considerations
    • Controlling Access

5. Architecting Web Applications

  • Scalability
    • Stateless Design
    • Load Balancing
    • Elastic Scalability
    • Exercise: Autoscaling and Load Balancing
  • Designing for Reliability
    • Fault-Tolerance
    • Dealing with Failure
    • Health Checkers and Autohealing
    • Message Queueing
  • Version Management
    • Deploying New Versions 
    • Rolling Updates
    • Blue/Green Deployments
    • Canary Releases
    • Exercise: Deploying New Versions with Zero Downtime
  • Automation
    • CI/CD Pipelines
    • Source and Version Control
    • Automated Testing
    • Automated Builds
    • Deployment
  • Application Monitoring and Alerting
    • Monitoring
    • Logging
    • Tracing
    • Uptime Checks
    • Alerts
    • Exercise: Uptime Checks

6. Cloud Security

  • IAM
    • User Accounts
    • Service Accounts
    • Roles and Permissions
    • Exercise: Controlling App Permissions with IAM
  • Network Security
    • Securing Cloud Networks
    • Firewalls and Security Groups
    • IP Addresses
    • Mitigating DDoS Attacks in the Cloud
    • Exercise: Configuring Networks and Firewalls
  • Data Security
    • Encryption
    • Key Management Services in the Cloud
    • Secret Managers
    • Data Loss Prevention
    • Exercise: Using Secret Managers

7. Big Data and Machine Learning in the Cloud

  • Big Data Processing
    • Overcoming Limitations with On-Premises Systems 
    • Distributed Data Processing
    • MapReduce
    • Hadoop and Spark
    • Data Analytic Services
  • Machine Learning
    • Understanding Cloud-Based Machine Learning Services
    • Leveraging Pretrained Machine Learning APIs
    • Exercise: Data Loss Prevention with ML

8. Migrating Applications to the Cloud

  • Planning Application Migrations
    • Application Inventory
    • Dealing with Dependencies
    • Application Prerequisites
    • Prioritization
    • Choosing First Movers
    • Activity: Planning Application Migration
  • Migration Strategies
    • Lift and Shift
    • Move and Improve
    • Refactor
    • Rewrite
    • Activity: Selecting a Migration Strategy
  • Data Migration Strategies
    • Analyzing Downtime
    • Moving the Data
    • Backup and Restore
    • Incremental Backup and Restore
    • Continuous Replication
    • Split Read/Writing
    • Data Access Microservice
    • Activity: Planning Database Migrations
  • The Importance of Automation
    • Automating Migration Activities
    • Infrastructure as Code

9. Cost Optimization

  • Capacity Planning
  • Resource Monitoring
  • Cost Estimation
  • Activity: Estimating the Cost of Migration

10. Course Summary

Please Contact Your ROI Representative to Discuss Course Tailoring!