Developing on AWS with AWS Jam (AWSD-AWS-JAM) – Outline

Detailed Course Outline

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.
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
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
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