Learning Objectives
The Objectives of this course are as follows:
- 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.
Target Audience
The course is intended for:
- Software developers
- Solution architects
- IT workers who want to improve their developing skills using AWS Services
Prerequisite Experience
- Programming experience in at least one high-level programming language
- Working knowledge of core AWS services
- AWS Technical Essentials
Course Outline
Building a Web Application on AWS
- Architecture review of the application to be built during this course
- AWS services needed to build a web application
- How to store, manage, and host your web application
Getting started with Development on AWS
- How to access AWS services programmatically
- Programmatic patterns and how they provide efficiencies within AWS SDKs and AWS CLI
- The values of AWS Cloud9
- Lab 1: Configure the Developer Environment
Getting Started with Permissions
- AWS Identity and Access Management (IAM) features
- AWS IAM permissions
- Testing AWS IAM permissions
- Configuration of IDEs and SDKs to support a development environment
- Accessing AWS services using SDKs and AWS Cloud9
Getting started with Storage
- The basic concepts of Amazon S3
- Securing data using Amazon S3
- Define SDK dependencies for your code
- Request and response objects
- Lab 2: Develop Solutions Using Amazon S3
Processing your Storage Operations
- Key bucket and object operations
- Handling multiple and large objects
- Configuring an Amazon S3 bucket to host a static website
- Amazon S3 operations using SDKs
Getting started with Databases
- Key components of DynamoDB
- Connecting to DynamoDB
- How to build a request object
- Reading a response object
- Common troubleshooting exceptions
Processing your Database Operations
- Developing programs to interact with DynamoDB using AWS SDKs
- CRUD operations to access tables, indexes, and data
- Developer best practices when accessing DynamoDB
- Caching options for DynamoDB to improve performance
- DynamoDB operations using SDK
- Lab 3: Develop solutions using Amazon DynamoDB
Processing your Application Logic
- Developing Lambda functions using SDKs
- Triggers and permissions for Lambda functions
- Test, deploy, and monitor Lambda functions
- Lab 4 – Develop Solutions using AWS Lambda Functions
- Key components of API Gateway
- Developing API Gateway resources to integrate with AWS services
- Configuring API request and response calls for your application endpoints
- Creating API Gateway resources to interact with application APIs
- Lab 5 – Develop solutions using Amazon API Gateway
Building a Modern Application
- The challenges with traditional architectures
- Microservice architecture and benefits
- Approaches for designing microservice applications
- Decoupling monolithic applications
- Orchestration of Lambda Functions using AWS Step Functions
Granting Access to your Applications Users
- Evolution of security protocols
- The authentication process using Amazon Cognito
- Managing user access and authorizing serverless APIs
- Best practices for implementing Amazon Cognito
- Lab 6 – Complete the application build
Deploying your Application
- DevOps methodology
- Configuring an AWS SAM template to deploy a serverless application
- Application deployment strategies
- Deploying a serverless application using AWS SAM
Observing your Application
- Observability and why it is necessary in modern development
- Differences between monitoring and observability
- CloudWatch’s part in configuring the observability
- Using CloudWatch Application Insights to monitor applications
- Using X-Ray to debug your applications
- Lab 7 – Observe the Applications using AWS X-Ray
- Course overview
- Course feedback