zurück zum Artikel

Serverless: AWS Lambda erhält Support für .NET Core 2.0, C# und Go

Matthias Parbel
Serveless-Framework öffnet sich neuen Providern

Die neue Runtime .NET Core 2.0 AWS Lambda erlaubt die Migration von älterem .NET Frameworks-Code auf den neuesten .NET 2.0 Core. Entwickler können ihre Funktionen für AWS Lambda nun auch in C# schreiben, und außerdem auch in Go.

Ab sofort können Entwickler für AWS Lambda-Projekte .NET Core 2.0, und damit auch C#, nutzen [1]. Microsoft hat mit dem seit August 2017 verfügbaren .NET Core 2.0 [2] zwar einen großen Schritt in Richtung plattformübergreifender Entwicklung unternommen, dabei aber auf eine ganze Reihe von Klassen aus dem klassischen .NET Framework 4.7 verzichtet [3]. Dennoch eröffnet die jetzt veröffentlichte Runtime .NET Core 2.0 AWS Lambda neue Wege, von älterem .NET Frameworks-Code zu migrieren.

Amazon/Microsoft

Lambda-Deployment mit Visual Studio 2017

(Bild: Amazon/Microsoft)

Für den Einsatz der neuen Runtime über die Command Line empfiehlt Amazon die Verwendung der Amazon.Lambda.Tools, die jetzt in Version 2.0.0 vorliegen [4]. Im Unterschied zu dotnet publish stellen die Tools unter anderem sicher, dass die erzeugten Package Bundles alle erforderlichen Dateien wie etwa <my-project>.runtimeconfig.json enthalten und darüber hinaus etwaige Windows- und macOS-spezifische Dependencies entfernt werden.

Ebenso lassen sich Projekte aber auch mit Visual Studio 2017 und dem jetzt in Version 1.14.0.0 veröffentlichten AWS Toolkit for Visual Studio [5] umsetzen und per Publish to AWS Lambda deployen. In Verbindung mit .NET Core 2.0 steht außerdem C# als Programmiersprache für Lambda Functions [6] zur Verfügung. Das AWS Toolkit for Visual Studio hält dafür passende Templates parat – sowohl für individuelle Funktionen als auch für komplette Serverless-Applikationen in C#.

Alternativ zu .NET Core 2.0 und C# unterstützt AWS Lambda jetzt auch die Programmiersprache Go [7] zur Entwicklung von Lambda Functions. Dabei können sämtliche für Go bereitstehenden Build- und Package-Tools genutzt werden. Die Go Executables lassen sich via Lambda-Konsole oder die AWS CLI als ZIP-File hochladen und anschließend mit der go1.x-Runtime ausführen. Darüber hinaus steht außerdem das AWS Serverless Application Model (SAM) zur Verfügung, um das Deployment und die Verwaltung von in Go geschriebenen Serverless-Applikationen zu erledigen. Spezifische Go-Templates aus AWS CodeStar unterstützen Entwickler beim Aufbau einer Continuous Delivery Pipeline. (map [8])


URL dieses Artikels:
https://www.heise.de/-3942896

Links in diesem Artikel:
[1] https://aws.amazon.com/de/blogs/developer/aws-lambda-net-core-2-0-support-released/
[2] https://www.heise.de/news/NET-Core-2-0-und-die-zugehoerige-Produktfamilie-sind-fertig-3801615.html
[3] https://www.heise.de/meinung/Kommentar-NET-Core-2-0-kann-zwar-mehr-aber-es-gibt-immer-noch-gravierende-Luecken-3803583.html
[4] https://www.nuget.org/packages/Amazon.Lambda.Tools/
[5] https://aws.amazon.com/visualstudio/
[6] https://aws.amazon.com/de/about-aws/whats-new/2018/01/aws-lambda-supports-c-sharp-dot-net-core-2-0/
[7] https://aws.amazon.com/de/about-aws/whats-new/2018/01/aws-lambda-supports-go/
[8] mailto:map@ix.de