Skip to content

panacloud-modern-global-apps/serverless-solutions-patterns-cdk

Repository files navigation

Serverless Solution and Architecture Patterns with CDK

Note: It is very likely that you will have to rename references to files inside the bin and lib directories because folders were renamed. Also there is usually a problem when using the L3 constructs with the latest version of the CDK, so try to make sure that your cdk version is the same as the version of the construct you are using.

Our Goal:

When we are defining our infrastructure with AWS CDK we notice that there are certain combinations of resources that we use in multiple places. AWS took advantage of this fact by providing some pre built constructs that include these common bunches of constructs like combining sqs and lambda etc. AWS provides us a library of such reusable L3 patterns which are already set with best practice default values so we can quickly just install them and use them without having to look up proper settings and permissions to glue them together.

This repo aims to show how we can use the AWS Solutions Constructs library like puzzle pieces when we want to implement a certain larger architecture. As examples of larger architectures we decided to use the patterns provided by CDKpatterns. However it is also reasonable to come up with your own large architectures and then browse through the solutions library to see which pieces can fit for your use case.

Basic Breakdown of methodology

Pick a complex architecture, browse through the solutions constructs library and choose the constructs that you think are relevant and then glue them together and show how they are used.

List of Useful Solutions Constructs

Resources

AWS Solutions Constructs – A Library of Architecture Patterns for the AWS CDK

AWS Solution Constructs

AWS Solutions Constructs API

AWS Solutions Constructs on GitHub

The CDK Patterns open source journey

CDK Patterns at 20! Let's Walk Through all 20 Serverless Patterns for AWS

Find A Pattern By AWS Well Architected Pillar