Developing on AWS
Please not that this is not a prep course for the “AWS Certified Developer - Associate” certification!
Full name: Developing on AWS
Product code: 200-DODEVA-45
These links are based on the course version 4.5.8.
Online and classroom course options: Developing on AWS
The official course material: eVantage Bookshelf (VitalSource)
Additional material: AWS Skill Builder
Module 1: Course Overview
Websites
Videos
- Modern Application Architectures
- The transformative power of modern applications
- Building Modern Apps with AWS: Choosing the Approach that Works for You
- Key Criteria When Choosing an Modern App Development Approach on AWS
- Architectures and Strategies for Building Modern Applications on AWS
Books
Module 2: Building a Web Application on AWS
Websites
Module 3: Getting Started with Development on AWS
Websites
- Amazon S3 API Reference
- Create bucket API Reference
- HTTP status codes
- Signature Version 4 Signing Process
- Download AWS CLI
- AWS CLI Command Reference
- Working with DynamoDB tables .NET
- Working with DynamoDB tables Boto3
- Waiters in the AWS SDK for Java
- Error Handling with DynamoDB
- Handling Exceptions in Java
- Logging with the AWS SDK for .NET
- AWS SDK for .NET, Advanced configuration
- Enabling Metrics for the AWS SDK for Java
- Locking API Versions (JavaSript)
- Language support in the AWS Cloud9 Integrated Development Environment (IDE)
- CodeWhisperer user guide
- Getting started with CodeWhisperer
Videos
- CodeWhisperer demo
- CodeWhisperer security scan demo
- Getting Started with SDKs
- Introduction to AWS Cloud9
Courses
- Getting Started with CodeWhisperer on AWS Skill Builder
AWS SDK
Python
.NET
Java
Other
- AWS Amplify
- AWS SDK for Ruby
- AWS SDK for JavaScript in Node.js
- AWS SDK for Go
- AWS SDK for JavaScript
- AWS SDK for PHP
- AWS SDK for C++
- AWS SDK for Swift
- AWS SDK for Rust
- AWS SDK for Kotlin
API references
Module 4: Getting Started with Permissions (IAM)
Websites
- IAM overview
- IAM User Guide
- IAM Identities
- Creating your first IAM admin user and user group
- Identity-based policies and resource-based policies
- AWS IAM User Guide
- IAM roles
- AWS service role
- Role delegation
- Common IAM scenarios
- Policy evaluation logic
- CLI Configuration and credential file settings
- PowerUserAccess policy (requires you to log in)
- AdministratorAccess policy (requires you to log in)
- Configure the AWS CLI
- Setting AWS credentials for the AWS Toolkit for JetBrains
- Set up AWS Credentials for Eclipse
- Creating profiles for your AWS credentials in Visual Studio
- Setting up your AWS credentials Visual Studio Code
- Global settings for config and credentials files
- Supported environment variables
- Working with AWS Credentials in Java
- Configuring AWS Credentials .NET
- Credentials in Boto3
- Signature Version 4 signing process
- Signing AWS API requests
- Temporary security credentials in IAM
- Actions in the AWS Security Token Service
- Using temporary security credentials with the AWS SDKs
- instance profiles and temporary credentials
- Calling AWS services from an environment in AWS Cloud9
- Create and store permanent access credentials in an Environment
- EC2 environments compared with SSH environments in AWS Cloud9
- Setting the JVM TTL for DNS Name Lookups
- Environment variables to configure the AWS CLI
- Error retries and exponential backoff
- Cross-account access
- Testing IAM policies with the IAM policy simulator
Videos
- AWS Identity and Access Management (IAM)
- Become an IAM Policy Master in 60 Minutes or Less (SEC316-R1)
- How to use IAM Access Analyzer policy generation
- Use IAM Access Analyzer Policy Validation to Set Secure and Functional Policies
- Workforce identity on AWS Primer Series playlist (at lest some videos)
Module 5: Getting Started with Storage (S3)
Websites
- S3 overview
- S3 User Guide
- EBS User Guide
- EFS User Guide
- FSx documentation
- S3 Express One Zone
- Amazon S3 Transfer Acceleration speed demo
- Bucket restrictions and limitations
- Organizing objects using prefixes
- Tagging Best Practices
- Access policy guidelines
- Common S3 Request Headers
- Common S3 Response Headers
Videos
Module 6: Processing Your Storage Operations (S3)
Websites
- AWS CLI multipart upload
- Using Amazon S3 storage classes
- S3 Select
- Static website hosting on Amazon S3
- CloudFront and HTTPS
- Using cross-origin resource sharing CORS
- CORS configuration
Videos
Module 7: Getting Started with Databases (DynamoDB)
Websites
- DynamoDB overview
- DynamoDB Developer Guide
- Partitions and Data Distribution
- Working with Tables and Data in DynamoDB
- DynamoDB data model
- DynamoDB limits
- Secondary indexes
- DynamoDB Adaptive Capacity
- NoSQL Workbench
- Setting up DynamoDB Local
- PartiQL
- PartiQL for DynamoDB
- Overview of AWS SDK Support for DynamoDB
- Creating service clients in Java
Videos
- Advanced DynamoDB design patterns
- DynamoDB core concept videos
- deepdives.eu podcast on Microservices
Module 8: Processing Your Database Operations (DynamoDB)
Websites
- Service, Account, and Table Quotas
- PutItem
- BatchWriteItem
- Paginating Table Query Results
- Parallel Scan
- Parallel Scan best practices
- Working with DynamoDB Tables in Java
Videos
- Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321)
- How to use single-table DynamoDB design with GraphQL
- GSI vs Scan - Amazon DynamoDB Nuggets
- Build with DynamoDB
Module 9: Processing Your Application Logic (Lambda)
Websites
- Lambda overview
- Lambda Operator Guide
- Best practices for working with AWS Lambda functions
- Schedule AWS Lambda functions using EventBridge
- Lambda SnapStart
- AddPermission
- AWS Lambda permissions
- CreateEventSourceMapping
- Using Lambda with the Toolkit for Eclipse
- AWS Toolkit for Visual Studio
- AWS Toolkit for PyCharm in the Jet Brains Marketplace
- Lambda quotas
- Lambda runtimes
- AWS Lambda Power Tuning
- Lambda Cold Starts benchmark
Videos
- AWS Serverless Innovation Day: AWS On Air ft. Best practices for AWS Lambda
- Best practices for serverless developers (SVS401)
- Demystifying and mitigating AWS Lambda cold starts (COM305)
- Benchmarking AWS Lambda cold starts (COM212)
Module 10: Managing the APIs (API Gateway)
Websites
- API Gateway overview
- API Gateway Developer Guide
- Setting up a stage for a REST API
- Creating and using usage plans with API keys
- Throttle API requests for better throughput
- API Gateway quotas
- Access management
- Setting up data transformations for REST APIs
- Generating an SDK for a REST API in API Gateway
- mock integrations
- API caching
- Troubleshooting Amazon API Gateway
- Security in Amazon API Gateway
- Integration passthrough behavior
- Mapping templates with Velocity Template Language (VTL)
- VTL best practices
- Swagger extensions
- Set up mock integrations in API Gateway
- Setting up stage variables
- Performing canary deployments
Videos
Module 11: Building a Modern Application
Websites
- AWS Step Functions overview
- AWS Step Functions Developer Guide
- Microservices
- Serverless on AWS
- Iterating a Loop Using Lambda
Videos
- Adrian Cockcroft on the Evolution of Business Logic from Monoliths, to Microservices, to Functions
- Building Microservices on AWS (CON208)
- Building next-generation applications with event-driven architecture (API302)
- When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler • GOTO 2020
- deepdives.eu podcast on Microservices
Courses
Books
- Building Microservices, 2nd Edition O’Reilly Amazon UK
- Monolith To Microservices Video overview O’Reilly Amazon UK
Module 12: Granting Access to Your Application Users
Websites
- Amazon Cognito overview
- Amazon Cognito Developer Guide
- Integrating Amazon Cognito With Web and Mobile Apps
- Understanding Amazon Cognito Authentication Part 1
- Understanding Amazon Cognito Authentication Part 2
- Understanding Amazon Cognito Authentication Part 3
- Understanding Amazon Cognito Authentication Part 4
- Amazon Cognito Resources
Videos
- How to use Amazon Cognito user pool advanced security features
- Amazon Cognito: SAML federation, IdP-initiated Login, and SAML Encryption
- Passwordless authentication with Amazon Cognito
Module 13: Deploying Your Application
Websites
- What is DevOps?
- DevOps tools
- AWS SAM template anatomy
- Controlling access to an API with API Gateway resource policies
- Controlling access to API Gateway APIs
- Installing the AWS SAM CLI
- Create a deployment configuration with CodeDeploy
- Deployment configurations on Lambda
Videos
- deepdives.eu podcast on DevOps
- Using DevOps, Microservices, & Serverless to Accelerate Innovation (SRV325)
- Enterprise DevOps: Patterns of Efficiency
Module 14: Observing Your Application
Websites
- CloudWatch User Guide
- AWS X-Ray Developer Guide
- CloudWatch alarms
- Metrics collected by the CloudWatch agent
Videos
Module 15: Course Wrap-Up
Websites
- Serverless Architectures with AWS Lambda
- How AWS Pricing Works
- Back to Basics
- AWS Support
- AWS Certification exam preparation
- AWS Certification
- AWS Certification exams
- AWS Recertification
- Schedule an Exam
- AWS Ramp-Up Guides
Courses
- Advanced Developing on AWS
- Developing Serverless Solutions on AWS
- Build Modern Applications with AWS NoSQL Databases
- Getting Started with DevOps on AWS
- AWS Cloud Development Kit Primer
- AWS Skill Builder
- AWS Skill Builder courses
- AWS Builder Labs
- AWS Workshops
- Classroom training