AWS Cloud Development Kit (CDK) Is Generally Available, Enhancing Coding Cloud Infrastructure
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.
Furthermore, administrators and developers can keep infrastructure and application code in the same repository – enhancing quality by making changes more predictable, having simpler continuous testing, and use the same tools to update applications and infrastructure.
The concept of AWS CDK is straightforward; everything is a construct – a cloud component that represents architectures of any complexity ranging from a single resource, such as an S3 bucket to a multi-stack application that spans multiple AWS accounts and regions. A developer or administrator can create constructs, use them in other constructs and thus compose a so-called stacks. Next, they can deploy stacks into an AWS environment, or apps, a collection of one or more stacks.
For creating and managing a CDK application, a developer or administrator can use the AWS CDK Command Line Interface (CLI), a command-line tool that requires Node.js. With this CLI, they can execute different commands such as:
- cdk init – to initialize in the current directory a new CDK project in one of the supported programming languages, and
- cdk deploy – to deploy the app in your AWS Account
By running cdk command, developers and administrators can see more of the available commands and options. Furthermore, they can include the CDK CLI in their deployment automation workflow, for example, by using Jenkins or AWS CodeBuild.
Developers and administrators can use the CDK without charge. Both TypeScript and Python versions of the SDK are now generally available, and the CDK is open source. Furthermore, examples of CDK projects are available on GitHub and further details in the documentation.