Skip to main content

How to Update Functions to Isolated Worker Model

Introduction

This guide aims to document the steps needed in order to convert our function apps from in-process model to isolated worker model. This is a beneficial change that allows function apps to run more similarly to standard .net web servers. There's also some speed and scalability benefits.

 

Instructions

For the most part, you can follow the instructions from Microsoft themselves:
Migrate .NET function apps from the in-process model to the isolated worker model | Microsoft Learn

Some notes, Atlantis-Search and UtopiaDataAccessFunctionApp are both onto the isolated model and can be referenced for some help.

The FunctionStartup.cs file in UtopiaDataAccessFunctionApp has been genericized to a point where it should fairly easily copy over to another function app, the BaseSettingsKey will need to be updated and then commented out sections can be added or as needed for that app's specific needs.

One thing that's not mentioned clearly in the Microsoft docs: in your local.settings.json file, you'll need to update the FUNCTIONS_WORKER_RUNTIME value to dotnet-isolated.

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
    ...
  }
}