AWS CDK Serverless Architecture Patterns
This is intended to be a repo containing all of the official AWS Serverless architecture patterns built with CDK for developers to use.
Follow @CdkPatterns for live discussion / new pattern announcements. I plan to add a new pattern weekly so check back regularly!
Note, this is maintained by @nideveloper not AWS
New to AWS CDK?
- To learn more visit the AWS getting started guide
- To do a workshop on CDK visit cdkworkshop.com
- Visit the Hey CDK "How To" series for some detailed answers
- Check out Awesome CDK for a curated list of awesome projects related to CDK
Pattern Usage
TypeScript
All Patterns (unless otherwise stated in their readme) should support the same commands so you can just run:
git clone https://github.com/cdk-patterns/serverless.git
cd {pattern-name}/typescript
npm i
- install the dependenciesnpm run build
- build the projectnpm run test
- run the unit testsnpm run deploy
- deploy the pattern into your AWS account*
* Note this requires you to be using cloud9 or have ran aws configure to setup your local credentials
Python
npm install -g aws-cdk
git clone https://github.com/cdk-patterns/serverless.git
cd {pattern-name}/python
python -m venv .env
- Create a virtual envsource .env/bin/activate
- Activate the virtual envpip install -r requirements.txt
- Install the dependenciescdk synth
- generate a cft from the stack to validate your setupcdk deploy
- deploy the pattern into your AWS account*
* Note this requires you to be using cloud9 or have ran aws configure to setup your local credentials
Patterns
@nideveloper)
Matt Coulter Patterns (Single Page Application S3 Website Deploy
These are built using https://www.npmjs.com/package/cdk-spa-deploy
@jeremy_daly)
Jeremy Daly Patterns (These patterns are from https://www.jeremydaly.com/serverless-microservice-patterns-for-aws/
The Simple Webservice
The Scalable Webhook
The State Machine
@edjgeek)
Eric Johnson Patterns (The Dynamo Streamer
This was taken from this Tweet
External Patterns
AWS Examples
Building enterprise applications using Amazon DynamoDB, AWS Lambda, and Go by Geoffroy Rollat
Found via this tweet
@sbstjn)
Sebastian Müller (React SPA with server-side rendering on AWS Lambda
Found via this tweet
Contributing
I hope for this to be something the whole cdk community contributes to so feel free to fork this repo and open up a pull request. For full details see our Contributing Guidelines