News

Microsoft Devs Get More Options for Using .NET Core with AWS Lambda Functions

Continuing to support Microsoft's .NET Core initiative, Amazon Web Services Inc. (AWS) this week opened up more .NET Core options for working with AWS Lambda, a service that facilitates serverless, event-driven computing.

.NET Core is Microsoft's modernization of the ageing, Windows-only .NET Framework, taking it open source and cross-platform in a more modularized approach.

The company has advised developers that .NET Core is the future and recommends it for all new development projects because it will be getting new features and functionality going forward, while .NET Framework will be relegated to security and maintenance updates.

In announcing a new Amazon.Lambda.RuntimeSupport library, AWS made it possible for developers to create their own custom runtimes in order to use more versions of .NET Core beyond the version that's currently built-in to the AWS Lambda service.

Previously, developers could only use Long Term Support (LTS) versions of .NET Core to handle AWS Lambda functions. LTS versions are supported by Microsoft for either three years after an initial release or for one year after a subsequent LTS version is released, whichever is longer.

Along with LTS, Microsoft has a Current release support designation, providing support for three months after a subsequent Current or LTS release.

And finally, Microsoft supports Preview releases if they carry a "Go-Live" designation, meaning they can be used in production.

Prior to the new support library, developers could only use LTS .NET Core versions built into the AWS Lambda service, of which the latest is .NET Core 2.1. Going forward, AWS Lambda will continue to build-in only LTS versions of .NET Core. However, coders can use the new support library to create Lambda functions using Current and Preview versions of .NET Core that are compatible with .NET Standard 2.0, which provides a specification representing a set of APIs that all .NET platforms must implement.

"If you're looking to use new features from .NET Core 2.2 or 3.0 preview, Amazon.Lambda.RuntimeSupport gives you a path forward," AWS said in a post.

That path may prove to be a bit more complicated, however, as programmers using those other .NET Core versions must create those custom runtimes to leverage non-supported languages or runtimes.

While AWS will automatically apply periodic security updates and bug fixes to its built-in .NET Core runtimes, the company said: "The customer manages updates to custom runtimes, but has flexibility to bring any version of a runtime to the platform. Keep this in mind when choosing between a built-in runtime and a custom runtime."

AWS has been steadily increasing its .NET Core support, having introduced .NET Core 2.1 support for AWS Lambda in July of last year and integrating AWS Lambda with PowerShell Core 6.0 a couple months later.

Source code for the new library is available on GitHub, and it also comes in a NuGet package.

About the Author

David Ramel is the editor of Visual Studio Magazine.

Featured