Open Source AWS Cloud Development Kit Eases Infrastructure-as-Code

AWS Cloud Development Kit (AWS CDK), an open source software development framework helping developers define cloud infrastructure as code using familiar programming languages, has emerged from preview to become generally available.

With the GA release of AWS CDK, those "familiar programming languages" include TypeScript/JavaScript and Python, while Java and .NET (C#) are still in developer preview. Developers can vote for their favorite languages to be included in the mix.

AWS says defining infrastructure as code enables developers to:

  • Keep infrastructure and application code in the same repository
  • Make infrastructure changes repeatable and predictable across different environments, AWS accounts, and AWS regions
  • Replicate production in a staging environment to enable continuous testing
  • Replicate production in a performance test environment that you use just for the time required to run a stress test
  • Release infrastructure changes using the same tools as code changes, so that deployments include infrastructure updates
  • Apply software development best practices to infrastructure management, such as code reviews, or deploying small changes frequently

Now, those benefits are enhanced with the ability of developers to use modern programming languages of their choice, with familiar tools like integrated development environments (IDEs), editors and so on.

"Personally I really like that by using the AWS CDK, you can build your application, including the infrastructure, in your IDE, using the same programming language and with the support of autocompletion and parameter suggestion that modern IDEs have built in, without having to do a mental switch between one tool, or technology, and another," said AWS evangelist Danilo Poccia in a blog post today (July 11). "The AWS CDK makes it really fun to quickly code up your AWS infrastructure, configure it, and tie it together with your application code!"

He contrasted that with the typical text-based approach.

"Configuration files used to manage your infrastructure are traditionally implemented as YAML or JSON text files, but in this way you’re missing most of the advantages of modern programming languages," he said. "Specifically with YAML, it can be very difficult to detect a file truncated while transferring to another system, or a missing line when copying and pasting from one template to another."

To use the AWS CDK, developers author projects, which are executed to generate CloudFormation templates, via the AWS CDK command line or as part of a continuous delivery system.

[Click on image for larger view.] AWS CDK (source: AWS)

Regarding the latter, Poccia touted the benefits of the new release in DevOps workflows.

"Managing your Infrastructure as Code provides great benefits and is often a stepping stone for a successful application of DevOps practices," he said. "In this way, instead of relying on manually performed steps, both administrators and developers can automate provisioning of compute, storage, network, and application services required by their applications using configuration files."

The CDK can be found on GitHub, where developers can also find examples.

About the Author

David Ramel is an editor and writer for Converge360.


Subscribe on YouTube