The AWS CDK solves an important problem by providing a true software language interface to AWS CloudFormation. AWS CloudFormation has limitations that are better solved in a programming language. Infrastructure as code has been around for a few years now, but is AWS CloudFormation really code? How do you share a standard AWS WAF configuration with your company? The answer is, you can’t do this well because AWS CloudFormation is more configuration and less code.
With the AWS CDK, developers can now:
- Version and release infrastructure code to the same repositories as application code (Nexus, NPM, PyPi, RubyGems, Artifactory, NuGet, GitHub).
- Reuse and consume CDK components, known as constructs, by using the dependency management tools already native to the developer’s programming language of choice.
These features really enable a company to finally compose reusable AWS CloudFormation components that are tailored to the specific business needs of the company.
Intuit Principal Engineer, Mike Cowgill shares his takeaways, contributions, and challenges with the AWS CDK on the AWS blog.