Best practice blueprints for AWS production topologies
Branch: master
Clone or download
Latest commit 26e1b71 Feb 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Update Nov 7, 2018
docs Set theme jekyll-theme-cayman Jan 23, 2019
img img Feb 14, 2019
nested-stacks Update Feb 14, 2019
pipelines allow codebuild role to ssm:Get* Dec 5, 2018
.gitignore ssm helper Jun 27, 2018
LICENSE Initial commit Jun 13, 2018 Update Feb 14, 2019


Easy to use CI/CD driven, convention based application harness that facilitates production grade, multi-stage approval based deployments. Each developer on your team can easly create production replica toplogies from a git feature branch.

Architected to work with a low cost (but scaleable) APIGateway+Lambda OR a high transaction ECS Fargate environment. Includes an upgrade path from the APIG+Lambda to Fargate if/when the workload outgrows Lambda.


There are a handful of necessary steps prior to running any of the Blueprints below. These steps only need to be done once.

  1. AWS CLI
  2. Create a personal github access token. This token will be used by the CI/CD to pull code. If you work in a team, it is recommended to create a seperate github user account for this.
  3. Create a versioned S3 bucket to store CloudFormation nested stack templates. See nested-stacks for instructions.
  4. If you are running MacOS, install GNU tools (below)


The Stage/Stages term referred to thoughout the Blueprints are: test,staging,prod. All CI/CD enviornments created by Blueprint will give you these 3 stages by default.


View the setup instructions in the of the blueprint you wish to use.

GNU tools for MacOS

Not required, but recomended. Some blueprints have a quickstart script, that will require GNU versions if running MacOS.

brew install wget
brew install coreutils
brew install gnu-sed

#add the following to your PATH

#### fish example (~/.config/fish/
set -x GNU_BIN_PATH /usr/local/opt/coreutils/libexec/gnubin
set -x GNU_SED_PATH /usr/local/opt/gnu-sed/libexec/gnubin

#### Bash example (~/.bash_profile)


  1. Setup a trusted, https certificate for local development.