I’ve been working with Azure Functions a lot over the last few weeks and it got me thinking about the state of serverless within the .NET ecosystem. To that end, I’ve put together a table that summarizes all the ways to build serverless functions with the different flavours of .NET:
|Platform||.NET Framework||.NET Core|
|AWS Lambda||Not Supported||Yes, V2.1|
|Azure Functions||Yes, v4.6.1||Yes, V2.X|
|OpenFaaS||Not Supported||Yes, V2.1|
|Google Cloud Functions||Not Supported||Not Supported|
|IBM Cloud Functions||Not Supported||Not Supported|
Here are my take-aways from that table:
- .NET Framework functions are supported on Azure only. It’s unclear how long Microsoft will continue to support the creation of new .NET Framework Functions now that the .NET Core runtime has become generally available.
- It’s not perfectly clear which version of .NET Core is running on the Azure Functions V2 runtime. Most of the docs refer to version 2.X, so I’m not sure if that’s 2.0 or 2.1.
- AWS and OpenFaaS offering .NET as a first-class citizen for serverless functions is a sign that .NET Core is starting to come into its own.
- Google don’t currently support .NET, but then again they don’t support many other languages either (NodeJs and Python are the only two).
- I didn’t know that IBM offered a functions-as-a-service until I went to write this post!
I’ll do my best to keep this page up to date as support for different versions evolves.