Azure Functions now have 2 different runtimes, version 1 which is what is currently in production and the only runtime supported for production use, and version 2 which is currently in preview. I’ll cover the difference in both runtimes and when to use which version.
Overview or Version 1
The version 1 runtime is what is currently used in production and is the only version supported for production use. This runtime is based on .NET Framework 4.6 and only support Windows for development and/or hosting in the portal. Version 1 also only supports the following languages: C#, JavaScript, and F#.
What’s New in Version 2
Version 2 runtime has been rebuilt from the ground up on .NET Core 2.0 and support cross platform (Windows and Linux) for deployment and for development you can use Windows, Linux, and macOS.
Version 2 introduces language extension model that both JavaScript and Java are taking advantage of. There is also expanded language support for Java and more coming. We also have new bindings for Microsoft Graph and Durable Functions.
Azure Functions is a great serverless offering and provides lots of functionality for almost any application. If you need to run code in production than version 1 is your only choice, but if you want to try out Azure Functions then definitely take a look at both runtimes. With Microsoft annual developer conference Build next month, I bet we will hear more information about version 2 runtime and a timeline for release.
Enjoy!
References
Azure Functions runtime versions overview