Detailed Course Outline
Day 1
Module 1: Course Overview
- Logistics
 - Student resources
 - Agenda
 - Introductions
 
Module 2: Building a Web Application on AWS
- Discuss the architecture of the application you are going to build during this course
 - Explore the AWS services needed to build your web application
 - Discover how to store, manage, and host your web application
 
Module 3: Getting Started with Development on AWS
- Describe how to access AWS services programmatically
 - List some programmatic patterns and how they provide efficiencies within AWS SDKs and AWS CLI
 - Explain the value of AWS Cloud9
 
Module 4: Getting Started with Permissions
- Review AWS Identity and Access Management (IAM) features and components permissions to support a development environment
 - Demonstrate how to test AWS IAM permissions
 - Configure your IDEs and SDKs to support a development environment
 - Demonstrate accessing AWS services using SDKs and AWS Cloud9
 
Lab 1: Configure the Developer Environment
- Connect to a developer environment
 - Verify that the IDE and the AWS CLI are installed and configured to use the application profile
 - Verify that the necessary permissions have been granted to run AWS CLI commands
 - Assign an AWS IAM policy to a role to delete an Amazon S3 bucket
 
Module 5: Getting Started with Storage
- Describe the basic concepts of Amazon S3
 - List the options for securing data using Amazon S3
 - Define SDK dependencies for your code
 - Explain how to connect to the Amazon S3 service
 - Describe request and response objects
 
Module 6: Processing Your Storage Operations
- Perform key bucket and object operations
 - Explain how to handle multiple and large objects
 - Create and configure an Amazon S3 bucket to host a static website
 - Grant temporary access to your objects
 - Demonstrate performing Amazon S3 operations using SDKs
 
Lab 2: Develop Solutions Using Amazon S3
- Interact with Amazon S3 programmatically using AWS SDKs and the AWS CLI
 - Create a bucket using waiters and verify service exceptions codes
 - Build the needed requests to upload an Amazon S3 object with metadata attached
 - Build requests to download an object from the bucket, process data, and upload the object back to the bucket
 - Configure a bucket to host the website and sync the source files using the AWS CLI
 - Add IAM bucket policies to access the S3 website.
 
Day 2
Module 7: Getting Started with Databases
- Describe the key components of DynamoDB
 - Explain how to connect to DynamoDB
 - Describe how to build a request object
 - Explain how to read a response object
 - List the most common troubleshooting exceptions
 
Module 8: Processing Your Database Operations
- Develop programs to interact with DynamoDB using AWS SDKs
 - Perform CRUD operations to access tables, indexes, and data
 - Describe developer best practices when accessing DynamoDB
 - Review caching options for DynamoDB to improve performance
 - Perform DynamoDB operations using SDK
 
Lab 3: Develop Solutions Using Amazon DynamoDB
- Interact with Amazon DynamoDB programmatically using low-level, document, and high-level APIs in your programs
 - Retrieve items from a table using key attributes, filters, expressions, and paginations
 - Load a table by reading JSON objects from a file
 - Search items from a table based on key attributes, filters, expressions, and paginations
 - Update items by adding new attributes and changing data conditionally
 - Access DynamoDB data using PartiQL and object-persistence models where applicable
 
Module 9: Processing Your Application Logic
- Develop a Lambda function using SDKs
 - Configure triggers and permissions for Lambda functions
 - Test, deploy, and monitor Lambda functions
 
Lab 4: Develop Solutions Using AWS Lambda Functions
- Create AWS Lambda functions and interact programmatically using AWS SDKs and AWS CLI
 - Configure AWS Lambda functions to use the environment variables and to integrate with other services
 - Generate Amazon S3 pre-signed URLs using AWS SDKs and verify the access to bucket objects
 - Deploy the AWS Lambda functions with .zip file archives through your IDE and test as needed
 - Invoke AWS Lambda functions using the AWS Console and AWS CLI
 
Module 10: Managing the APIs
- Describe the key components of API Gateway
 - Develop API Gateway resources to integrate with AWS services
 - Configure API request and response calls for your application endpoints
 - Test API resources and deploy your application API endpoint
 - Demonstrate creating API Gateway resources to interact with your application APIs
 
Lab 5: Develop Solutions Using Amazon API Gateway
- Create RESTful API Gateway resources and configure CORS for your application
 - Integrate API methods with AWS Lambda functions to process application data
 - Configure mapping templates to transform the pass-through data during method integration
 - Create a request model for API methods to ensure that the pass-through data format complies with application rules
 - Deploy the API Gateway to a stage and validate the results using the API endpoint
 
Day 3
Module 11: Building a Modern Application
- Describe the challenges with traditional architectures
 - Describe the microservice architecture and benefits
 - Explain various approaches for designing microservice applications
 - Explain steps involved in decoupling monolithic applications
 - Demonstrate the orchestration of Lambda Functions using AWS Step Functions
 
Module 12: Granting Access to Your Application Users
- Analyze the evolution of security protocols
 - Explore the authentication process using Amazon Cognito
 - Manage user access and authorize serverless APIs
 - Observe best practices for implementing Amazon Cognito
 - Demonstrate the integration of Amazon Cognito and review JWT tokens
 
Lab 6: Capstone – Complete the Application Build
- Create a Userpool and an Application Client for your web application using
 - Add new users and confirm their ability to sign-in using the Amazon Cognito CLI
 - Configure API Gateway methods to use Amazon Cognito as an authorizer
 - Verify JWT authentication tokens are generated during API Gateway calls
 - Develop API Gateway resources rapidly using a Swagger importing strategy
 - Set up your web application frontend to use Amazon Cognito and API Gateway configurations and verify the entire application functionality
 
Module 13: Deploying Your Application
- Identify risks associated with traditional software development practices
 - Understand DevOps methodology
 - Configure an AWS SAM template to deploy a serverless application
 - Describe various application deployment strategies
 - Demonstrate deploying a serverless application using AWS SAM
 
Module 14: Observing Your Application
- Differentiate between monitoring and observability
 - Evaluate why observability is necessary in modern development and key components
 - Understand CloudWatch’s part in configuring the observability
 - Demonstrate using CloudWatch Application Insights to monitor applications
 - Demonstrate using X-Ray to debug your applications
 
Lab 7: Observe the Application Using AWS X-Ray
- Instrument your application code to use AWS X-Ray capabilities
 - Enable your application deployment package to generate logs
 - Understand the key components of an AWS SAM template and deploy your application
 - Create AWS X-Ray service maps to observe end-to-end processing behavior of your application
 - Analyze and debug application issues using AWS X-Ray traces and annotations
 
Module 15: Course Wrap-up
- Course overview
 - AWS training courses
 - Certifications
 - Course feedback
 
Day 4
AWS Jam
- Participate in team-based challenges in a real AWS environment
 - Compete with your colleagues in a gamified, hands-on learning experience
 - Apply your learning from the course on various AWS services