Skip to content

Roadmap

Eric Jizba edited this page Jun 22, 2022 · 22 revisions

Azure Functions Node.js Roadmap 2022

Our roadmap is an open and honest plan for the next 6-12 months. We continuously tune the plan based on feedback and we will provide more detail in each of our monthly milestones. We do our best to estimate timelines, but in return we ask for patience and understanding as the timelines can often change during execution of a feature. This is our first roadmap in this format, but in the future we plan to cut a new roadmap roughly annually and archive the old roadmap for historical purposes.

Legend of annotations:

Mark Description
bullet work not started
check mark work completed
πŸƒ on-going work
πŸ’ͺ stretch goal

NOTE: Stretch goals are features unlikely to make the "public preview" phase within a larger theme and/or features unlikely to happen within 6-12 months.

Themes for 2022

  • Node 18 #522
  • New programming model #480
  • Distributed tracing
  • Durable Functions

Node 18

We estimate public preview for August 2022 and general availability for November 2022. The following list is somewhat simplified as there are additional processes and requirements only tracked internally.

  • Add support in the worker
  • πŸƒ Add support for Windows in Azure
  • πŸƒ Add support for Linux in Azure
  • πŸƒ Ensure existing performance optimizations also apply for Node 18 apps in Azure
  • Add Node 18 as an option in tooling (VS Code, portal, core tools, az cli)

New programming model

We estimate public preview for October 2022 and general availability for March 2023.

Design & Engineering

  • Expose a core api from the worker so that apps and npm packages can contribute programming model features (e.g. registering hooks & functions) #567
  • Establish a new pattern of shipping the programming model in an npm package instead of directly in Azure. We plan to ship both the old and new programming models in this manner. #568
  • Prototype the main options for the new programming model
  • πŸƒ Narrow down the programming model options to just one through feedback and user studies

Implementation

  • πŸƒ Add entrypoint for app-level code #537
  • Allow registering functions through code instead of "function.json" files #569
  • Include long-standing breaking change feature requests from the backlog
    • Simplify and remove duplication on the context object #204
    • πŸ’ͺ Handle all falsy values appropriately #388
    • πŸ’ͺ Consistently handle binary data #294
    • πŸ’ͺ Consistently case headers #274
  • πŸ’ͺ Design and document unit testing best practices #120

Tooling

These apply to core tools, VS Code, the Portal, and in rare cases the az cli.

  • Create new templates, aiming for parity with the old programming model
  • Support creating a new project
  • Add information messages to encourage users to try the new model
  • πŸ’ͺ Support creating a new function

Distributed Tracing

This theme is a collaboraton with the app insights team and is subject to their priorities and timelines. With that caveat in mind, we estimate this will work will wrap up in late 2022 or early 2023.

  • Expose invocation hooks #522
  • πŸƒ Leverage invocation hooks in the appinsights package to reduce the amount of boilerplate code required in a user's app
  • πŸ’ͺ Leverage the updated appinsights package/agent to allow users to benefit from app insights with zero boilerplate code required #523

Durable Functions

  • Adopt a linear-time orchestrator replay algorithm for dramatic performance improvements durable#305
  • Allow orchestrators to have timers longer than 6 days durable#325
Clone this wiki locally