• Keep application code and infrastructure in the same repository
  • Make infrastructure changes repeatable across multiple environments, AWS accounts, AWS regions.
  • To enable continuous testing, replicate production in a staging area
  • You can replicate production in a performance testing environment that you only use for the time it takes to run a stress test
  • Release infrastructure changes using the same tools that code changes to ensure that deployments include infrastructure upgrades
  • Software development best practices can be applied to infrastructure management. This includes code reviews or deploying small changes often.

[Click on the image to see a larger view.] AWS CDK (source AWS) A few days after CDK became generally available, Kevin S. Lin, a former AWS engineer, published the Open CDK Guide via GitHub. The guide’s purpose was described as: The AWS Cloud Development Kit is a framework built on CloudFormation that allows users to manage AWS Infrastructure and Code (IaC) in a delightful way. The CDK will make it easy to feel like a devops master when everything is working well. The cloud is complex, CloudFormation coverage is limited, and the CDK (and IaC overall) are still young frameworks with few established best practices. This guide contains tips and best practices to use the CDK. It is intended to be a living document that will be updated as the CDK and its practices mature. [Click on the image to see a larger version.] Open CDK Guide (source : Open CDK Guide). Lin, who describes himself as an early adopter, stated that the CDK was heavily inspired from the og–aws guide (The Open Guide to Amazon Web Services). The guide contains tips and best practices to work with constructs, stacks patterns, libraries, and other tools. A graphical legend is provided to indicate:

  • A gotcha, limitation, or quirk
  • Corrective actions or improvements are required in certain areas
  • Features that are difficult to find
  • Library or service solutions from third parties

The site also references the following resources:

  • Awesome-cdk: A collection of CDK resources created by one of the developers
  • CDK All The Things: Lin’s article covering general impressions and features of CDK

At the time of writing, 110 stars have been awarded to the project.