Developing on AWS
This course teaches experienced developers how to programmatically interact with AWS services to build web solutions. It guides you through a high-level architectural discussion on resource selection and dives deep into using the AWS Software Development Kits (AWS SDKs) and Command Line Interface (AWS CLI) to build and deploy your cloud applications. You will build a sample application during this course, learning how to set up permissions to the development environment, adding business logic to process data using AWS core services, configure user authentications, deploy to AWS cloud, and debug to resolve application issues. The course includes code examples to help you implement the design patterns and solutions discussed in the course. The labs reinforce key course content and help you to implement solutions using the AWS SDK for Python, .Net, and Java, the AWS CLI, and the AWS Management Console.
What you will learn
- Build a simple end-to-end cloud application using AWS Software Development Kits (AWS SDKs), Command Line Interface (AWS CLI), and IDEs.
- Configure AWS Identity and Access Management (IAM) permissions to support a development environment.
- Use multiple programming patterns in your applications to access AWS services.
- Use AWS SDKs to perform CRUD (create, read, update, delete) operations on Amazon Simple Storage Service (Amazon S3) and Amazon DynamoDB resources.
- Build AWS Lambda functions with other service integrations for your web applications.
- Understand the benefits of microservices architectures and serverless applications to design.
- Develop API Gateway components and integrate with other AWS services.
- Explain how Amazon Cognito controls user access to AWS resources.
- Build a web application using Cognito to provide and control user access.
- Use DevOps methodology to reduce the risks associated with traditional application releases and identify AWS services that help in implementing DevOps practices.
- Use AWS Serverless Application Model (AWS SAM) to deploy an application.
- Observe your application build using Amazon X-Ray.
Prerequisites
- AWS Technical Essentials
- Working knowledge of AWS core services
- Programming experience in any one of the following languages: Python, .NET, or Java
Target audience
- Software developers, Solution architects, IT workers who want to improve their developing skills using AWS Services
Training Program
22 modules to master the fundamentals
Topics covered
- βLogistics
- βStudent resources
- βAgenda
- βIntroductions
Topics covered
- β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
Topics covered
- β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
Topics covered
- β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
Activities
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
Topics covered
- β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
Topics covered
- β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
Activities
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.
Topics covered
- β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
Topics covered
- β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
Activities
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
Topics covered
- βDevelop a Lambda function using SDKs
- βConfigure triggers and permissions for Lambda functions
- βTest, deploy, and monitor Lambda functions
Activities
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
Topics covered
- β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
Activities
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
Topics covered
- β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
Topics covered
- β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
Activities
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
Topics covered
- β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
Topics covered
- β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
Activities
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
Topics covered
- βCourse overview
- βAWS training courses
- βCertifications
- βCourse feedback
Quality Process
SFEIR Institute's commitment: an excellence approach to ensure the quality and success of all our training programs. Learn more about our quality approach
- Lectures / Theoretical Slides β Presentation of concepts using visual aids (PowerPoint, PDF).
- Technical Demonstration (Demos) β The instructor performs a task or procedure while students observe.
- Guided Labs β Guided practical exercises on software, hardware, or technical environments.
The achievement of training objectives is evaluated at multiple levels to ensure quality:
- Continuous Knowledge Assessment : Verification of knowledge throughout the training via participatory methods (quizzes, practical exercises, case studies) under instructor supervision.
- Progress Measurement : Comparative self-assessment system including an initial diagnostic to determine the starting level, followed by a final evaluation to validate skills development.
- Quality Evaluation : End-of-session satisfaction questionnaire to measure the relevance and effectiveness of the training as perceived by participants.
Train multiple employees
- Volume discounts (multiple seats)
- Private or custom session
- On-site or remote