Skip to content

Best practice AWS blueprints for production topologies

License

Notifications You must be signed in to change notification settings

rynop/aws-blueprint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aws-blueprint

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 easily 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.

Prerequisites

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)

Terminology

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.

Blueprints

View the setup instructions in the README.md 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 coreutils gnu-sed

#add the following to your PATH

#### fish example (~/.config/fish/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
set -x PATH $GNU_BIN_PATH $GNU_SED_PATH $PATH

#### Bash example (~/.bash_profile)
GNU_BIN_PATH=/usr/local/opt/coreutils/libexec/gnubin
GNU_SED_PATH=/usr/local/opt/gnu-sed/libexec/gnubin
export PATH="$GNU_BIN_PATH:$GNU_SED_PATH:$PATH"

Tips

  • HOWTO develop against a localhost HTTPS API.

About

Best practice AWS blueprints for production topologies

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages