Skip to content

Commit 39bb577

Browse files
authored
Merge pull request #314303 from ggailey777/madhura-fixup
[Functions] Add GitHub Copilot skills for migrations
2 parents 8529a14 + 625cc81 commit 39bb577

7 files changed

Lines changed: 737 additions & 332 deletions

articles/azure-functions/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
- name: Process real-time events
5757
displayName: Event Hubs, streaming, events
5858
href: scenario-real-time-events-processing.md
59+
- name: Migrate Linux apps to Flex Consumption using Copilot
60+
href: migration/scenario-migrate-linux-consumption-to-flex.md
5961
- name: Developer tools
6062
items:
6163
- name: Azure Developer CLI

articles/azure-functions/consumption-plan.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Azure Functions Consumption plan hosting (legacy)
33
description: Learn about Azure Functions Consumption plan hosting, a legacy serverless hosting option. We recommend the Flex Consumption plan for new serverless function apps.
4-
ms.date: 03/13/2026
4+
ms.date: 04/09/2026
55
ms.topic: concept-article
66
ms.custom:
77
- build-2024

articles/azure-functions/migration/migrate-plan-consumption-to-flex.md

Lines changed: 565 additions & 326 deletions
Large diffs are not rendered by default.
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: "Quickstart: Migrate Linux Consumption apps to Flex Consumption using GitHub Copilot"
3+
description: Use GitHub Copilot with Azure skills to interactively migrate your Linux function apps from the Consumption plan to the Flex Consumption plan.
4+
ms.service: azure-functions
5+
ms.collection:
6+
- migration
7+
ms.date: 04/07/2026
8+
ms.topic: quickstart
9+
10+
#customer intent: As a developer, I want to use GitHub Copilot to more easily migrate my Linux Consumption plan function apps to the Flex Consumption plan so that I can get better performance and features.
11+
---
12+
13+
# Quickstart: Migrate Linux Consumption apps to Flex Consumption using GitHub Copilot
14+
15+
In this quickstart, use GitHub Copilot with the Azure skills plugin to interactively migrate your Linux function apps from the [Consumption plan](../consumption-plan.md) to the [Flex Consumption plan](../flex-consumption-plan.md). Copilot automates most of the migration, including assessment, app creation, configuration, deployment, and validation.
16+
17+
> [!IMPORTANT]
18+
> This article demonstrates how to use Copilot to recreate an existing Linux Consumption app in a Flex Consumption plan. The [Azure skill](https://github.com/microsoft/GitHub-Copilot-for-Azure/blob/main/plugin/skills/azure-upgrade/references/services/functions/consumption-to-flex.md) that Copilot uses to achieve the migration work is designed to work with most Linux Consumption apps. For high-value production apps, apps with complex deployments or dependencies, and for Consumption apps running on Windows, follow [Migrate Consumption plan apps to the Flex Consumption plan](migrate-plan-consumption-to-flex.md).
19+
20+
You can review the specific skill used by Copilot when performing this migration in the [GitHub Copilot Azure skills repository](https://github.com/microsoft/GitHub-Copilot-for-Azure/blob/main/plugin/skills/azure-upgrade/references/services/functions/consumption-to-flex.md).
21+
22+
## Prerequisites
23+
24+
+ An Azure subscription with one or more Linux function apps running on the Consumption plan.
25+
26+
+ The account used for the migration must have the **Owner** or **Contributor** role in the resource group containing your function apps. For the full list of required permissions, see [Prerequisites](migrate-plan-consumption-to-flex.md#prerequisites).
27+
28+
+ [Azure CLI](/cli/azure), version 2.77.0 or later.
29+
30+
+ Configure GitHub Copilot in your preferred mode:
31+
32+
[!INCLUDE [functions-copilot-setup](~/includes/functions-copilot-setup.md)]
33+
34+
## Migrate your apps
35+
36+
Use this prompt to start an interactive migration that scans your subscription and lets you choose which apps to migrate:
37+
38+
```
39+
migrate my linux function apps in azure from consumption to flex consumption
40+
```
41+
42+
Copilot follows the [migration guide](migrate-plan-consumption-to-flex.md) and identifies your eligible Linux Consumption apps, lets you choose which ones to migrate, and then handles assessment, app creation, and configuration migration for each app.
43+
44+
You might be asked by Copilot for feedback during the migration, as needed for a successful migration.
45+
## Migration results
46+
47+
When complete, Copilot generates helpful output, which includes:
48+
49+
+ A summary table with the status of each migrated app.
50+
+ A brief summary of the overall tasks accomplished.
51+
+ A list of any remaining post-migration tasks that it couldn't complete or that must be done by you.
52+
53+
## Verify the migration
54+
55+
While Copilot does its best to validate the state of your migrated app, always verify that your new app works correctly:
56+
57+
1. In the [Azure portal](https://portal.azure.com), ensure that each new Flex Consumption app shows a **Status** of `Running`.
58+
59+
1. Call at least one HTTP trigger endpoint or otherwise trigger your new app to confirm it responds as expected.
60+
61+
## (Optional) Remove the original app
62+
63+
When you're confident the new app works correctly, remove the original Consumption plan app. If you keep the original app in place, remember to [disable any triggers](../disable-function.md) to avoid duplicate processing or competing with the new app.
64+
65+
Use this command to remove the original app:
66+
67+
```
68+
delete my original consumption app <ORIGINAL_APP_NAME>
69+
```
70+
71+
Copilot always asks for your explicit confirmation before deleting anything.
72+
73+
> [!IMPORTANT]
74+
> Before deleting, make sure you migrate all functionality, verify no traffic goes to the original app, and back up any relevant logs or configuration.
75+
76+
## Next step
77+
78+
> [!div class="nextstepaction"]
79+
> [How to use the Flex Consumption plan](../flex-consumption-how-to.md)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
author: ggailey777
3+
ms.service: azure-functions
4+
ms.topic: include
5+
ms.date: 09/23/2025
6+
ms.author: glenga
7+
---
8+
9+
The GitHub Copilot migration skill is currently only supported when migrating Linux apps. To migrate a Windows Consumption app, use the **Azure CLI** or **Azure portal** tabs.
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
author: ggailey777
3+
ms.service: azure-functions
4+
ms.topic: include
5+
ms.date: 04/07/2026
6+
ms.author: glenga
7+
---
8+
9+
#### [GitHub Copilot CLI](#tab/copilot-cli)
10+
11+
1. [Install Copilot CLI](https://github.com/github/copilot-cli)
12+
13+
1. Sign in to Azure CLI if you haven't already:
14+
15+
```azurecli
16+
az login
17+
```
18+
19+
Make sure you're signed in to the subscription that contains the function apps you want to migrate.
20+
21+
1. Launch the Copilot CLI:
22+
23+
```
24+
copilot
25+
```
26+
27+
1. Add the marketplace source (first time only):
28+
29+
```
30+
/plugin marketplace add microsoft/azure-skills
31+
```
32+
33+
1. Install the plugin:
34+
35+
```
36+
/plugin install azure@azure-skills
37+
```
38+
39+
1. After install, reload Model Context Protocol (MCP) servers:
40+
41+
```
42+
/mcp reload
43+
```
44+
45+
1. Verify installation:
46+
47+
```
48+
/mcp show
49+
```
50+
51+
You should see the **azure** plugin listed with a checkmark. The `functionapp` tool is part of this plugin.
52+
53+
#### [Visual Studio Code](#tab/copilot-vscode)
54+
55+
1. [Install the Azure MCP extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-mcp-server) from the Visual Studio Code Marketplace (Extension ID: `ms-azuretools.vscode-azure-mcp-server`).
56+
57+
1. The extension auto-installs a companion extension, GitHub Copilot for Azure, which contains the Azure skills.
58+
59+
1. Sign in to Azure CLI if you haven't already. Open a terminal and run:
60+
61+
```azurecli
62+
az login
63+
```
64+
65+
Make sure you're signed in to the subscription that contains the function apps you want to migrate.
66+
67+
1. Open Copilot Chat and switch to Agent mode.
68+
69+
1. Open the Command Palette (Ctrl+Shift+P), search for and select `MCP:List servers`, and verify that the **Azure MCP server** is listed and running. If it's not running, select it and select **Start server**.
70+
71+
---
72+
73+
> [!TIP]
74+
> If Copilot targets the wrong subscription, ask it to use a specific subscription ID. You can find your subscription ID by running `az account show --query id -o tsv`.
75+
> If Copilot connects to the wrong Azure tenant, ask Copilot to use your specific tenant ID when making Azure calls. You can find your tenant ID by running `az account show --query tenantId -o tsv`.

includes/functions-linux-consumption-retirement.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
author: ggailey777
33
ms.service: azure-functions
44
ms.topic: include
5-
ms.date: 02/09/2026
5+
ms.date: 04/09/2026
66
ms.author: glenga
77
---
88

99
> [!IMPORTANT]
10-
> After 30 September 2028, the option to host your function app on Linux in a Consumption plan is retired. To avoid disruptions, migrate your existing Consumption plan apps that run on Linux to the [Flex Consumption plan](../articles/azure-functions/flex-consumption-plan.md) before that date. Apps running on Windows in a Consumption plan aren't affected by this change.
10+
> The option to host function apps on Linux in a Consumption plan is being retired. [Migrate your apps to the Flex Consumption plan](../articles/azure-functions/migration/migrate-plan-consumption-to-flex.md) before the retirement date. Apps running on Windows in a Consumption plan aren't currently affected.
1111
>
12-
> After 30 September 2025, no new features and no new language stack support are added to the Linux Consumption plan. The last supported language versions for Linux Consumption are: .NET 9, Python 3.12, Node.js 22, PowerShell 7.4, and Java 21. Newer language versions aren't supported for Linux Consumption.
13-
>
14-
> For more information, see [Migrate Consumption plan apps to the Flex Consumption plan](../articles/azure-functions/migration/migrate-plan-consumption-to-flex.md).
12+
>| Date | What happens |
13+
>| ------ | ------------- |
14+
>| **September 30, 2025** | No new features or language versions for Linux Consumption. The last supported versions are: .NET 9, Python 3.12, Node.js 22, PowerShell 7.4, and Java 21. The option is removed from the Azure portal, Visual Studio, and Visual Studio Code. You can still manage existing apps by using the Azure CLI and through [resource deployments](../articles/azure-functions/functions-infrastructure-as-code.md). |
15+
>| **September 30, 2028** | Retirement date. No technical support and no new Linux Consumption apps can be created. |

0 commit comments

Comments
 (0)