News
Open Source AWS Cloud Development Kit Hits GA with TypeScript Support, C# On Tap
.NET-centric coders using Visual Studio can now ease their Amazon Web Services (AWS) development with the new Cloud Development Kit (AWS CDK), an open source framework for Infrastructure as Code projects.
AWS CDK lets developers define cloud infrastructure using familiar programming languages, with initial support for TypeScript/JavaScript and Python, while C# and Java are coming, currently in developer previews. Coincidentally, Microsoft just recently revamped its Azure SDKs for pretty much those same programming languages.
Although Microsoft would naturally prefer that developers use its own Azure cloud -- reportedly putting AWS on a "discouraged" list for internal developer usage -- the Amazon cloud caters to Visual Studio users in many ways, including the AWS Toolkit for Visual Studio and support for .NET Core.
Along those lines, AWS evangelist Danilo Poccia touted the benefits of Infrastructure-as-Code development using developer tools of choice.
"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," he said 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 listed the benefits of Infrastructure-as-Code development as:
- 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
Those benefits are amplified when developers can use their favorite programming languages, instead of the common 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," Poccia 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. Wouldn't it be better if you could use the expressive power of your favorite programming language to define your cloud infrastructure?"
While TypeScript is supported now, and C#-based .NET development is coming, developers can use GitHub to vote on what other programming languages should be supported. Choices that have received votes include Kotlin, Swift, PHP, Go and Ruby, with Visual Basic even getting a mention. But, so far, there doesn't seem to be any clamor for F# support.
About the Author
David Ramel is an editor and writer at Converge 360.