The AWS Certified Developer – Associate (Developing on AWS) course is tailored for intermediate software developers looking to advance their skills in building and managing cloud applications on AWS. This course covers key topics like setting up AWS SDKs, implementing IAM for secure access, using Amazon S3 and DynamoDB for data storage, and integrating applications with AWS services such as Lambda, SQS, SNS, and Kinesis.
Participants will engage in hands-on labs to develop, deploy, and monitor applications using Amazon CloudWatch. The course also includes using AWS Elastic Beanstalk and CloudFormation for deployment, preparing learners to build secure, scalable, and highly available applications. By the end, participants will be well-prepared for the AWS Certified Developer – Associate certification exam.
Prerequisites:
-
Familiarity with AWS services and infrastructure.
-
Knowledge of at least one high-level programming language (e.g., Java, C#/.Net, Python, JavaScript).
-
Understanding of AWS architecture and best practices.
-
Experience in developing, deploying, and debugging cloud-based applications on AWS.
-
Proficiency with AWS Service APIs, CLI, and SDKs.
-
Awareness of key AWS service features for optimization and security.
Target Audience:
-
Intermediate-level software developers.
-
Cloud application developers.
-
DevOps engineers.
-
Full-stack developers.
-
Software engineers with a cloud computing focus.
-
IT professionals aiming to specialize in AWS development.
-
Systems architects and designers seeking AWS expertise.
-
Technical leads managing cloud projects.
-
Backend developers interested in AWS deployment.
Learning Objectives:
-
Set up and authenticate AWS SDKs for various environments.
-
Design scalable, event-driven solutions using AWS services like Kinesis, Lambda, SQS, and SNS.
-
Optimize data storage with Amazon S3 and DynamoDB.
-
Secure service access with IAM and integrate authentication with Amazon Cognito.
-
Enhance application performance with ElastiCache and CloudFront.
-
Streamline deployments using AWS Elastic Beanstalk and CloudFormation.
-
Monitor and troubleshoot applications with Amazon CloudWatch and AWS X-Ray.
-
Implement and manage APIs with Amazon API Gateway.
-
Gain practical experience in developing, deploying, and maintaining AWS-based applications.
Course Outline
Day 1
Module 1: Course Overview
Module 2: Building a Web Application on AWS
-
Architecture discussion of the application to be built
-
Overview of AWS services required for the web application
-
Storage, management, and hosting of the web application
Module 3: Getting Started with Development on AWS
-
Accessing AWS services programmatically
-
Programmatic patterns and their efficiencies in AWS SDKs and AWS CLI
-
The value of AWS Cloud9 in development
Module 4: Getting Started with Permissions
-
AWS Identity and Access Management (IAM) for development environments
-
Testing and configuring IAM permissions
-
Setting up IDEs and SDKs for development
-
Accessing AWS services using SDKs and AWS Cloud9
Lab 1: Configure the Developer Environment
-
Connecting to a developer environment
-
Installing and configuring IDEs and AWS CLI
-
Assigning IAM policies and roles to manage S3 buckets
Module 5: Getting Started with Storage
-
Concepts of Amazon S3
-
Securing data with Amazon S3
-
Setting up SDK dependencies and connecting to Amazon S3
-
Understanding request and response objects
Module 6: Processing Your Storage Operations
-
Key operations with Amazon S3 buckets and objects
-
Handling large objects and multiple operations
-
Hosting static websites with Amazon S3
-
Performing Amazon S3 operations using SDKs
Lab 2: Develop Solutions Using Amazon S3
-
Programmatically interacting with Amazon S3 using SDKs and AWS CLI
-
Uploading, downloading, and processing S3 objects
-
Configuring S3 buckets to host websites and manage access policies
Day 2
Module 7: Getting Started with Databases
-
Key components of DynamoDB
-
Connecting to DynamoDB and building request objects
-
Troubleshooting DynamoDB exceptions
Module 8: Processing Your Database Operations
-
CRUD operations with DynamoDB using SDKs
-
Developer best practices for DynamoDB access
-
Caching options to improve DynamoDB performance
Lab 3: Develop Solutions Using Amazon DynamoDB
-
Programmatically interacting with DynamoDB using various APIs
-
Retrieving, updating, and searching items in DynamoDB tables
-
Accessing DynamoDB data using PartiQL and object-persistence models
Module 9: Processing Your Application Logic
-
Developing AWS Lambda functions using SDKs
-
Configuring triggers, permissions, and monitoring for Lambda functions
Lab 4: Develop Solutions Using AWS Lambda Functions
-
Creating and interacting with Lambda functions using SDKs and AWS CLI
-
Integrating Lambda functions with other services
-
Deploying and testing Lambda functions
Module 10: Managing the APIs
-
Components of API Gateway and integration with AWS services
-
Configuring and testing API request and response calls
-
Deploying API Gateway resources
Lab 5: Develop Solutions Using Amazon API Gateway
-
Creating RESTful API Gateway resources
-
Integrating APIs with Lambda functions
-
Deploying and validating API Gateway
Day 3
Module 11: Building a Modern Application
-
Challenges with traditional architectures
-
Benefits of microservices and steps for decoupling monolithic applications
-
Orchestrating Lambda Functions using AWS Step Functions
Module 12: Granting Access to Your Application Users
-
Evolution of security protocols and authentication with Amazon Cognito
-
Managing user access and serverless API authorization
-
Integration of Amazon Cognito with JWT tokens
Lab 6: Capstone – Complete the Application Build
-
Creating Userpools and Application Clients with Amazon Cognito
-
Configuring API Gateway with Cognito for user access
-
Verifying application functionality
Module 13: Deploying Your Application
Module 14: Observing Your Application
Lab 7: Observe the Application Using AWS X-Ray
Module 15: Course Wrap-up