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 for Converge360.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube