Day 1: Setup and Initial Deployments. Time: 2 Hours
- Hello Web IDE and Terraform Setup (30 mins)
Introduction to the course and initial setup instructions.
- Remote Backend and AWS Provider (30 mins)
Configuring Terraform to use an S3 backend.
Introducing the AWS provider.
- Local Variables and S3 Bucket (60 mins)
Creating local variables.
Deploying an S3 bucket to store images.
Day 2: Infrastructure for Serverless Application. Time: 2 Hours
- SQS Queue Setup (30 mins)
Adding an SQS queue for image processing.
- IAM Roles and Lambda Function for S3 (90 mins)
Creating an IAM role for Lambda functions.
Setting up and deploying the first Lambda function to interact with S3 and SQS.
Day 3: Advanced Serverless Components. Time: 2 Hours
- DynamoDB Table and Rekognition Lambda Setup (60 mins)
Creating a DynamoDB table for storing image metadata.
Configuring an IAM role and Lambda function for AWS Rekognition.
- API Gateway and Custom Lambda API (60 mins)
Setting up API Gateway for the serverless application.
Developing and deploying an API Lambda function.
Day 4: Finalizing Deployment and Testing. Time: 2 Hours
- Static Web Hosting and CloudFront Distribution (90 mins)
Configuring S3 for static website hosting and uploading a basic HTML site.
Creating and configuring a CloudFront distribution for the static site.
Setting DNS records for custom domain access.
- Final Deployment and Initial Testing (30 mins)
Completing final Terraform `apply` to deploy all components.
Conducting initial tests to ensure the serverless application is functional.
Day 5: Review, Q&A, and Discussions. Time: 2 Hours
- Comprehensive Review (30 mins)
Overview of all steps taken throughout the course, from setup to deployment.
Open floor for participants to ask questions regarding any aspect of the course material, troubleshooting, best practices, and more.
- Final Discussions (30 mins)
Discussing potential real-world applications, scalability, security considerations, and future learning paths.