Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Microsoft Announces the General Availability of Azure Functions 2.0

Microsoft Announces the General Availability of Azure Functions 2.0

Leia em Português

This item in japanese

Microsoft announced the general availability of the second version of Azure Functions, an event-driven, compute-on-demand service on the Azure platform. This new release includes several capabilities, such as the ability to run functions outside of Azure for testing or deployment to the edge, which enable developers to build scalable serverless applications more easily in comparison with the previous version.

Microsoft first launched Azure Functions in early 2016 as a preview, and it became generally available as the first version in mid-November of 2016. The most significant changes in version 2.0 are to the host runtime, which is now portable, cross-platform, and "more efficient". The runtime can even work outside the Azure Functions service in a container or on the IoT Edge. Azure Functions 2.0 can also run in more environments, such as locally on a Mac or Linux machine, and developers can write functions using an IDE like Visual Studio, VS Code, or VS for Mac.

Eduardo Laureano, principal PM manager, Azure Functions, said in the blog post:

Functions 2.0 is more performant than ever, thanks in part to general host improvements, support for more modern language runtimes, and the ability to run code from a package file.

With Functions 2.0, developers can write code in multiple languages like JavaScript (Node 8 and Node 10), C# and F# (.Net Core 2), and Java 8 (preview). Moreover, the non-.NET languages use a new language worker model, which should improve the performance, according to Laureano. The worker process allows for better version support, iteration, and is an enabler for future language support.


With the second version of functions, all bindings are now extensions except for the core HTTP and timer. Bindings in Azure Functions decouple the code from the data source or destination, and by packing them as extensions, Microsoft further decouples them. By decoupling extensions, Microsoft allows bindings and their dependencies to be versioned independently of the core runtime, as Laureano stated in the blog post. Developers will have more control over their application and how they run, especially as the services on which their apps depend continue to evolve. 

Functions 2.0 include also:


With the release Functions 2.0, the Microsoft Function product team targetted further enhancing the service, and soon will add more hosting options and language support. This team plans to expand development stacks and hosting options for Azure Functions like serverless, for instance Linux hosting – a preview of the Consumption plan for Functions built on top of the Linux OS is now available by signing up for it. Furthermore, the team is also building support for Python 3.6 based on the Functions 2.0 runtime, also available through a private preview.

Rate this Article