AWS Clean Architecture Starter Kit
A practical .NET Clean Architecture starter kit for building and deploying serverless APIs on AWS.
What Is It?
The AWS Clean Architecture Starter Kit is a deployable .NET solution template that combines Clean Architecture with AWS serverless services.
The project provides a starting point for developers who want to build APIs on AWS without spending days configuring infrastructure and boilerplate code.
The starter kit currently includes:
- Clean Architecture template
- ASP.NET Core Minimal API
- AWS Lambda
- Amazon API Gateway
- Amazon DynamoDB
- Amazon CloudWatch Logging
- AWS CDK Infrastructure as Code
- OpenAPI Documentation
- FluentValidation
- Health Checks
- Unit Tests
- Architecture Tests
Why I Built It
As a software engineer and AWS Solutions Architect, I found that creating a new AWS-backed API often required significantly more work on infrastructure than on the API itself.
Packaging Lambda functions, configuring API Gateway, managing permissions, creating infrastructure with CDK, and integrating AWS services all take time.
I wanted a practical foundation that developers could use as a starting point rather than repeatedly solving the same problems from scratch.
This starter kit is my attempt to simplify that process while documenting the lessons learned along the way.
Who Is It For?
This project is intended for:
- .NET developers learning AWS
- Developers building serverless applications
- Small teams needing a starting point
- Engineers looking for practical AWS CDK examples
- Developers interested in Clean Architecture
It is not intended to be a framework or a complete enterprise platform.
Architecture

Key Design Decisions
AWS Lambda Instead of ECS
The starter kit uses AWS Lambda as the primary hosting model.
Lambda reduces operational overhead, scales automatically, and is often a cost-effective option for APIs with variable traffic patterns.
Infrastructure as Code Using AWS CDK
All infrastructure is provisioned using AWS CDK.
The goal is to allow developers to create, modify and deploy infrastructure without manual AWS Console configuration.
DynamoDB as the Default Data Store
DynamoDB was selected as the default persistence layer because it integrates naturally with serverless workloads and removes the operational burden of managing database servers.
V1 intentionally keeps the data model simple by using a single partition key.
API Gateway API Keys
API Gateway API Keys provide a lightweight mechanism for controlling access and applying usage plans.
The API itself does not validate API Keys. Validation is performed by API Gateway before requests are forwarded to AWS Lambda.
Getting Started
- Install the template
- Create a new solution
- Configure AWS credentials
- Bootstrap CDK
- Deploy the infrastructure
- Start building
Detailed setup instructions are available in the GitHub repository.
Source Code
The source code is available on GitHub.
AWS Clean Architecture Repository
Related Projects
Ghanavats.ResultPattern
The starter kit includes usage examples based on Ghanavats.ResultPattern.
ResultPattern provides a lightweight approach to modelling success and failure outcomes without relying on exceptions for expected application behaviour.
Although many similar libraries exist, I continue to maintain and use this package because it aligns with how I structure application and domain logic.
Roadmap
Planned improvements include:
- Authentication and authorisation
- Additional AWS integrations
- CI/CD examples
- Advanced DynamoDB modelling
- Event-driven architecture examples
Feedback
The project is actively evolving.
Feedback, suggestions and contributions are welcome.