Skip to content

An application for generating thumbnails, utilizing a serverless architecture on the AWS Cloud and implemented with Terraform infrastructure as code (IaC)

Notifications You must be signed in to change notification settings

muhammad-ahsan/serverless-thumbnailizer

Repository files navigation

Serverless Thumbnailizer

Thumbnailizer is a serverless application, designed to automate the creation of thumbnails for images uploaded to an AWS S3 storage bucket. This application utilizes AWS services such as API Gateway, AWS Lambda, and S3 storage.

This architectural pattern creates REST API via API Gateway, acting as an S3 proxy for write operations. When an image is uploaded to the S3 bucket, the application automatically triggers a Lambda function through API Gateway. The Lambda function then retrieves the uploaded image from the S3 bucket and generates a thumbnail version of it. This thumbnail is subsequently stored back into the S3 bucket, enabling easy access to both the original image and its corresponding thumbnail.

Architecture

Local Execution

Build

cd tf-resource
sam build --hook-name terraform

Invoke

sam local invoke --hook-name terraform --event events/event.json

Deployment of Infrastructure

terraform plan 
terraform apply

Deletion of Infrastructure

terraform destroy

Dev Dependencies

Graphviz

Ensure graphviz executables are on your system's PATH

About

An application for generating thumbnails, utilizing a serverless architecture on the AWS Cloud and implemented with Terraform infrastructure as code (IaC)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published