AWS Serverless CRUD with Terraform
Infrastructure as Code + serverless application design
This project is a serverless CRUD application built on AWS, with Terraform used to provision and manage the infrastructure in a repeatable and production-friendly way.
The goal was to move beyond manually creating AWS resources in the console and instead define the architecture as code so it could be deployed consistently and scaled cleanly.
Architecture
Client → API Gateway → Lambda → DynamoDB
The application follows a clean serverless pattern where:
- API Gateway exposes HTTP endpoints for client requests
- AWS Lambda handles the business logic for create, read, update, and delete operations
- DynamoDB stores the application data
- Terraform manages the infrastructure as code
Core Technologies
- Terraform
- AWS Lambda
- Amazon API Gateway
- Amazon DynamoDB
- AWS Identity and Access Management (IAM)
- Python
What I built
- REST-style API endpoints for CRUD operations
- Lambda functions to process and validate requests
- DynamoDB table for persistent storage
- Permission policies using least-privilege access
- Terraform configuration for resource provisioning and updates
Why this project matters
This was a strong practical exercise in applying real cloud engineering patterns: infrastructure automation, serverless design, secure IAM setup, and API-driven application flows.
It also demonstrates an important transition from manual cloud configuration to infrastructure as code, which is a core skill in modern DevOps and platform engineering work.
Key takeaway
The project shows how to build a lightweight but scalable backend without managing servers, while keeping deployment repeatable and easier to maintain through Terraform.
Related project: AWS Cloud Resume ChallengeOfficial AWS reference: AWS Serverless Architectures with AWS Lambda