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.
Module 1: Course Overview
This introductory module provides an overview of the course structure, logistics, and available student resources. It also covers the course agenda and includes participant introductions to foster engagement.
Module 2: Building a Web Application on AWS
Explore the architecture of the web application you will build throughout the course. Learn about the AWS services required to develop, store, manage, and host your web application effectively.
Module 3: Getting Started with Development on AWS
Learn how to access AWS services programmatically using the AWS SDKs and AWS CLI. This module introduces programmatic patterns that enhance efficiency and explores the benefits of using AWS Cloud9 for cloud-based development.
Module 4: Getting Started with Permissions
Gain an understanding of AWS Identity and Access Management (IAM), including its key components and how to configure permissions for a development environment. You will test IAM permissions, configure IDEs and SDKs, and interact with AWS services using SDKs and AWS Cloud9.
Module 5: Getting Started with Storage
Learn the fundamentals of Amazon S3, including storage concepts, security options, and SDK dependencies. This module also covers how to connect to Amazon S3 and work with request and response objects.
Module 6: Processing Your Storage Operations
Dive deeper into Amazon S3 operations by performing key bucket and object operations. Learn how to handle large and multiple objects, host a static website, and grant temporary access to objects. You'll also practice performing Amazon S3 operations using AWS SDKs.
Module 7: Getting Started with Databases
This module covers the core concepts of Amazon DynamoDB, including its key components, how to connect to it, and how to construct and read request and response objects. You'll also review common troubleshooting exceptions encountered when working with DynamoDB.
Module 8: Processing Your Database Operations
Develop programs to interact with DynamoDB using AWS SDKs. Perform CRUD operations on tables, indexes, and data while learning best practices for database interactions. The module also covers caching strategies for DynamoDB to improve performance.
Module 9: Processing Your Application Logic
Learn how to develop AWS Lambda functions using SDKs, configure triggers and permissions, and deploy, test, and monitor functions for seamless execution within AWS environments.
Module 10: Managing the APIs
Discover the key components of Amazon API Gateway and how to create API resources that integrate with AWS services. You'll configure request and response calls, test APIs, and deploy application endpoints using API Gateway.
Module 11: Building a Modern Application
Explore microservices architectures and their advantages over traditional architectures. Learn different approaches to designing microservices applications, breaking down monolithic applications, and orchestrating Lambda functions using AWS Step Functions.
Module 12: Granting Access to Your Application Users
Analyze the evolution of security protocols and learn how to implement authentication and authorization using Amazon Cognito. This module covers managing user access, securing serverless APIs, and integrating JWT tokens for user authentication.
Module 13: Deploying Your Application
Understand the risks of traditional software deployment and the principles of DevOps methodology. Learn how to use AWS SAM (Serverless Application Model) for deploying serverless applications, exploring various deployment strategies along the way.
Module 14: Observing Your Application
Differentiate between monitoring and observability, and explore why observability is essential in modern development. Learn how to use Amazon CloudWatch Application Insights for monitoring and AWS X-Ray for debugging and tracing application performance.
Module 15: Course Wrap-Up
Conclude the course with a recap of key topics, an overview of AWS training courses and certifications, and an opportunity to provide course feedback.
This structured learning path ensures that participants gain hands-on experience in developing, securing, deploying, and monitoring cloud-based applications on AWS.