-
Notifications
You must be signed in to change notification settings - Fork 447
Azure Functions Runtime 2.0 Overview
The next major version of the Azure Functions runtime, Azure Functions runtime 2.0, brings a series of enhancements, changes and new features. This document outlines the most significant ones, contrasting them with 1.0 where appropriate.
-
.NET Core/Cross platform support: The runtime has been ported to run on .NET Core 2.0, allowing it to run on all platforms supported by .NET Core (Windows, macOS, Linux, etc.). This enables cross platform development and hosting scenarios not previously supported.
-
Binding extensibility: Binding extensibility has been added to the WebJobs SDK and is now supported by the Azure Functions runtime, enabling:
- Third party binding extensions support
- A lighter runtime/execution environment, where only the bindings in use are known and loaded by the runtime.
- Decoupling between the runtime and bindings, also reducing the number of fixed dependencies and allowing extensions to be versioned and released independently. Users can, for example, opt to upgrade to a version of an extension that relies on a newer of an underlying SDK.
All built-in Azure Functions bindings have adopted this model and (with the exception of the Timer trigger and the HTTP trigger) are no longer included by default. Those bindings will be automatically installed when creating functions through tools like Visual Studio or through the portal.
-
Language extensibility: A new language extensibility model has been introduced, bringing the following benefits/differences:
- Facilitates language integration with Azure Functions
- Uses an out-of-process function execution model
- Decouples language implementations from the runtime
Initially, JavaScript and Java are taking advantage of this new model. Azure Functions 1.0 experimental languages have been removed and will also use this model when support is added (based on demand and feasibility).
Currently, the following languages are supported in version 2.0 of the runtime:
- C# (pre-compiled and scripting)
- F# (pre-compiled)
- JavaScript
- Java (preview)
- Configuration Settings
- function.json
- host.json
- host.json (v2)
- Http Functions
- Function Runtime Versioning
- Official Functions developers guide
- Host Health Monitor
- Managing Connections
- Renaming a Function
- Retrieving information about the currently running function
- Site Extension Resolution
- Linux Consumption Regions
- Using LinuxFxVersion for Linux Function apps
- Out-of-proc Cancellation Tokens
- Assembly Resolution in Azure Functions
- ILogger
- Precompiled functions
- Official Functions C# developer reference
- Contributor Onboarding
- Development Process
- Deploying the Functions runtime as a private site extension
- Authoring & Testing Language Extensions
- Bindings in out-of-proc
- Language Extensibility
- Worker Capabilities
- Investigating and reporting issues with timer triggered functions not firing
- Sharing Your Function App name privately
- Azure Functions CLI release notes [moved here]
- Function App Zipped Deployment [deprecated]