Course #:WA2734

AWS for Developers Training

The students of this training will learn the modalities for developing on the Amazon Web Services cloud platform.

This intensive 3-day course covers the most important areas of AWS that will help the students become aware of the existing cloud-grade capabilities that could be immediately translated into tangible value for their companies.

This training course is supplemented by a variety of hands-on labs that will help the attendees reinforce their theoretical knowledge of the learned material.

Audience

Developers, Team Leads, and Architects

Prerequisites

Foundational knowledge of programming and cloud computing

Duration

3 days

Outline of AWS for Developers Training

Chapter 1. Overview of the Amazon Web Services (AWS)

  • Amazon Web Services
  • The History of AWS
  • The Initial Iteration of Moving amazon.com to AWS
  • The AWS (Simplified) Service Stack
  • Accessing AWS
  • Direct Connect
  • Shared Responsibility Model
  • Trusted Advisor
  • The AWS Distributed Architecture
  • AWS Services
  • Managed vs Unmanaged Amazon Services
  • Amazon Resource Name (ARN)
  • Compute and Networking Services
  • Elastic Compute Cloud (EC2)
  • AWS Lambda
  • Auto Scaling
  • Elastic Load Balancing (ELB)
  • Virtual Private Cloud (VPC)
  • Route53 Domain Name System
  • Elastic Beanstalk
  • Security and Identity Services
  • Identity and Access Management (IAM)
  • AWS Directory Service
  • AWS Certificate Manager
  • AWS Key Management Service (KMS)
  • Storage and Content Delivery
  • Elastic Block Storage (EBS)
  • Simple Storage Service (S3)
  • Glacier
  • CloudFront Content Delivery Service
  • Database Services
  • Relational Database Service (RDS)
  • DynamoDB
  • Amazon ElastiCache
  • Redshift
  • Messaging Services
  • Simple Queue Service (SQS)
  • Simple Notifications Service (SNS)
  • Simple Email Service (SES)
  • AWS Monitoring with CloudWatch
  • Other Services Example
  • Summary

Chapter 2. Amazon Virtual Private Cloud (VPC)

  • Amazon Virtual Private Cloud (VPC)
  • VPCs, AZs, and Regions
  • What can You do with VPC ? (Part 1 of 2)
  • What can You do with VPC ? (Part 2 of 2)
  • VPC Core Components
  • When You Create a VPC …
  • The Create VPC Dialog
  • The VPC Dashboard
  • When You Delete a VPC …
  • Subnets
  • Private and Public Subnets
  • Route Tables
  • Routes in a Route Table Example
  • Internet Gateways
  • An Elastic IP Address
  • Associating the Elastic IP Address With An Instance
  • Elastic Network Interfaces (ENIs)
  • Security Groups
  • Security Group Rules
  • Example of A Security Group's Rules
  • Putting It All Together
  • Network Access Control Lists
  • VPC Caps
  • Good VPC Design Recommendation
  • Where Do I Put My Web Servers?
  • VPC Resources
  • Summary

Chapter 3. AWS Simple Storage Service

  • What is AWS Simple Storage Service (S3)
  • AWS Storage
  • Regions
  • S3 Regions
  • Getting started with S3
  • Using BitTorrent
  • More on Buckets
  • Bucket Configurable Properties
  • Advanced S3 Bucket Properties
  • The Bucket Creation Dialog in the Management Console
  • Bucket Permissions
  • Bucket-level Operations
  • Authorization of REST Requests
  • Adding Cross-Origin Resource Sharing Configuration
  • Event Notifications
  • The Requester Pays Option
  • The Object Key
  • Object Versioning
  • Example of Object Properties
  • Object Storage Class Levels
  • Object-level Operations
  • Object Lifecycle Configuration
  • Amazon S3 Data Consistency Model
  • Observable Data Consistency Behaviors
  • Eventually Consistent Reads vs Consistent Reads
  • Amazon S3 Security
  • S3 Use Case: Backup and Archiving
  • Another S3 Use Case: Static Web Hosting
  • More on Static Web Hosting
  • S3 Static Website Hosting Dialog in Management Console
  • S3 Use Case: Disaster Recovery
  • AWS S3 Pricing
  • Storage Pricing
  • Request Pricing
  • Data Transfer Pricing
  • Amazon S3 Transfer Acceleration
  • How to Enable Transfer Acceleration
  • Enabling Transfer Acceleration in the Management Console
  • Amazon S3 SLA Definitions
  • Amazon S3 SLA Service Commitment
  • S3 CLI
  • Summary

Chapter 4. AWS Databases

  • AWS Database Services
  • The CAP Theorem
  • Mechanisms to Guarantee a Single CAP Property
  • NoSQL Systems CAP Triangle
  • Relational vs NoSQL Databases
  • AWS Databases Overview
  • AWS RDS Engine Options Page in the Management Console
  • Database Instances
  • Multi-AZ Deployment
  • Two-AZ Master-Slave RDS Solution Architecture
  • Licensing
  • Migrating Your On-Premise Databases to RDS
  • Aurora
  • Aurora DB Instance Details In AWS Console
  • Redshift
  • Amazon RDS Use Cases
  • Summary

Chapter 5. Amazon DynamoDB

  • Main NoSQL Database Storage Types
  • Amazon DynamoDB
  • DynamoDB is an Eventual Consistent NoSQL Database
  • DynamoDB Tables are Created in and Tied to a Region
  • Accessing DynamoDB
  • AWS SDKs for DynamoDB
  • DynamoDB Core Components
  • Data Types
  • Example of an Item with Attributes
  • The Primary Key
  • Partition Key and Sort Key
  • Example of a Table with Partition Key and Sort Key
  • Secondary Indexes
  • Provisioned Capacity
  • Partition Metrics
  • Maximizing DynamoDB Throughput
  • Global Tables
  • Common Operations and Actions with DynamoDB
  • Creating a Table in AWS Console
  • Creating a Provisioned Table using AWS CLI
  • Creating an On-Demand Table using AWS CLI
  • Managing DynamoDB Tables with AWS CLI
  • Inserting new Items
  • Query and Scan Operations
  • Querying for Items
  • Query and Scan in AWS Console
  • DynamoDB Security
  • DynamoDB Streams
  • Batch-oriented Operations
  • Summary

Chapter 6. AWS Messaging Capabilities Overview

  • Asynchronous Communication Models Overview
  • AWS Messaging Systems
  • Simple Queue Service (SQS)
  • The Create New Queue Page in Management Console
  • Increasing Throughput of FIFO Queues
  • Message Visibility
  • Message Retention Period
  • Configuring an SQS Queue in the Management Console
  • Available Queue Actions in the Management Console
  • Accessing SQS
  • SQS CLI
  • Example of Using SQS Query API
  • Simple Notification Service (SNS)
  • SNS Dashboard
  • SNS Subscribers
  • AWS Services Native Integration with SNS
  • Accessing Amazon SNS
  • SNS CLI Examples
  • Simple Email Service (SES)
  • Amazon MQ
  • Summary

Chapter 7. Event-Driven Computing in AWS

  • Defining Event-Driven Computing
  • The IoT
  • AWS IoT SDKs
  • Infrastructure Events
  • AWS Event-Driven Computing Enabling Services
  • Simple Queue Service (SQS)
  • Simple Notification Service (SNS)
  • AWS Services Native Integration with SNS
  • Example of Using ELB Events to React to ECS High Latency
  • Simple Email Service (SES)
  • AWS Monitoring with CloudWatch
  • Example of CloudWatch Integration with EC2
  • Amazon CloudWatch Infrastructure Events
  • Events Generated from Resources
  • S3 Events
  • Example of Using S3 Object Upload Event
  • S3 Events Configuration in the AWS Management Console
  • S3 Event Message Structure
  • DynamoDB Stream Events
  • Scheduled Events in EC2
  • Scheduled Events in CloudWatch
  • CloudWatch Rules Creation in the AWS Management Console
  • What is AWS Lambda?
  • What can I do with Lambda Functions
  • Supported Languages
  • Lambda Constraints and Security
  • Getting Your Code up and Running in Lambda
  • Examples of the Base Lambda Function
  • Lambda Functions Use Cases
  • How It Works
  • Example: Processing S3 Source Events with Lambda
  • The Programming Model
  • Configuring Lambda Functions
  • Configure Triggers Page
  • Lambda Function Blueprints
  • How Do I Troubleshoot and Monitor My Lambda Functions?
  • Developing Lambda in Java
  • Summary

Chapter 8. Working with Streaming Data

  • What is Streaming Data?
  • Amazon Kinesis
  • Amazon Kinesis Data Analytics (KDA)
  • KDA Supported Capabilities: SQL
  • KDA Supported Capabilities: Java API
  • KDA for Java Quality of Services
  • Kinesis Firehose
  • How Kinesis Firehose Works
  • Use Cases
  • Kinesis Firehose Data Flow Overview
  • Getting Started with Kinesis Firehose in the AWS Management Console
  • Kinesis Data Streams
  • KDS vs Kinesis Firehose
  • Using KDS
  • KDS Data Flow Overview
  • KDS Producers and Consumers
  • Enhanced Fan-out
  • Kinesis Video Streams (KVS)
  • Additional Features of KVS
  • KVS Use Cases
  • KVS Producers and Consumers
  • KVS Producer SDKs
  • Getting Started with KVS
  • Summary

Chapter 9. Monitoring and Managing Applications in AWS

  • What is CloudWatch
  • How CloudWatch Works
  • Use Cases
  • Log Management
  • Amazon CloudWatch in the AWS Management Console
  • CloudWatch AWS Services Integration
  • Monitoring EC2 Instances
  • EC2 Windows Instances
  • Collecting Metrics and Logs from EC2 Instances and On-Premises Servers with the CloudWatch Agent
  • Publishing Custom Metrics
  • CloudWatch Custom Metric CLI Examples
  • CloudWatch Logs Insights Service
  • CloudWatch Logs Insights Query Language Examples
  • Querying with CloudWatch Logs Insights in the AWS Management Console
  • CloudWatch Alarms
  • Alarms in the AWS Management Console Examples
  • Amazon CloudWatch Events
  • Integration with Third Party Tools
  • AWS CloudTrail
  • CloudTrail Dashboard in the AWS Management Console
  • CloudTrail Integration with CloudWatch
  • How CloudTrail Works
  • CloudTrail Use Cases
  • Trusted Advisor
  • Trusted Advisor Dashboard
  • Summary

Chapter 10. The AWS Shared Responsibility Model

  • The AWS Shared Responsibility Model
  • In a Nutshell...
  • Areas of Responsibility of AWS
  • Your Areas of Responsibility
  • AWS Compliance Program
  • Cloud Security Domains
  • The CIAs of Security
  • AWS Network Security
  • AWS Network Security (Cont'd)
  • The Heartbleed OpenSSL Bug
  • Authentication & Authorization: AWS Identity and Access Management Service
  • AWS Account Security Features
  • Controlling Programs: Mandatory Access Control (MAC)
  • Access Control: Physical Security
  • Access Control: Auditing
  • Security Best Practices
  • Be Aware of Spear-Phishing Attacks
  • Summary

Chapter 11. AWS Developer Tools

  • AWS Developer Tools
  • Software Release Steps
  • Developer Tools in the AWS Management Console
  • CodeCommit
  • CodeCommit in Management Console
  • Accessing CodeCommit Repositories
  • CodeCommit CLI
  • CodeBuild
  • CodeBuild Added-Value Services
  • CodeBuild CLI
  • CodeDeploy
  • CodeDeploy Deployment Groups
  • CodeDeploy Deployment Configuration
  • CodeDeploy Deployment Configuration for Lambda Functions
  • CodePipeline
  • CodePipeline Example
  • CloudFormation
  • Simplified Example of a Template File
  • CloudFormation Visual Designer
  • Supported Designer Sample Templates
  • A CloudFormation Designer Sample Template
  • CloudFormation aws Tool API
  • CodeStar
  • CodeStar Application Categories
  • CodeStar Project Templates
  • Setting Up CodeStar Project
  • Team Collaboration and Issue Management
  • Summary

Chapter 12. AWS Solution Architecture Patterns

  • AWS Architecture Center
  • List of Reference Architectures
  • High Availability Solution Architecture Blueprint
  • Log Analysis Solution Architecture Blueprint Summary
  • Scalable Web App Solution Architecture Blueprint Summary
  • Simplified Web App Solution Architecture Blueprint
  • Architecting for AWS: Design for Failure - Take 1
  • Architecting for AWS: Design for Failure - Take 2
  • Go with SOA and Asynchronous Communication Patterns
  • Batch Processing with SQS
  • Secure Your Applications
  • Securing your Web Application Example
  • Other Security Considerations
  • Operational Checklists for AWS
  • Excerpts from Operational Checklists
  • Summary

Lab Exercises

Lab 1. Introduction to Amazon EC2
Lab 2. Programming Amazon S3 with .NET
Lab 3. Introduction to Amazon Aurora
Lab 4. Introduction to Amazon DynamoDB
Lab 5. Introduction to AWS Lambda
Lab 6. Introduction to Amazon Kinesis Firehose
Lab 7. Monitoring Security Groups with Amazon CloudWatch Events
Lab 8. Launching and Managing a Web Application with AWS CloudFormation
Lab 9. Deploy a Java EE Application on AWS Elastic Beanstalk Using Docker Containers
Lab 10. Working with AWS CodeCommit

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.