Skip to content

Commit dfe977d

Browse files
authored
Merge pull request #299634 from ggailey777/az-thiago
[Functions] Add Flex Consumption to reliability/AZ page
2 parents d7a54ad + 0cde5fa commit dfe977d

13 files changed

+603
-170
lines changed

articles/azure-functions/TOC.yml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -484,12 +484,23 @@
484484
- name: Core Tools development
485485
href: functions-run-local.md
486486
displayName: local, runtime
487+
- name: Create a function app
488+
items:
489+
- name: Infrastructure as code
490+
href: functions-infrastructure-as-code.md
491+
displayName: bicep, ARM template, create function app
492+
- name: Azure portal
493+
href: functions-create-function-app-portal.md
494+
displayName: create function app
495+
- name: Azure CLI
496+
href: ./scripts/functions-cli-create-serverless.md
497+
displayName: create function app
487498
- name: Create functions
488499
items:
489500
- name: HTTP trigger
490501
items:
491502
- name: Azure portal
492-
href: functions-create-function-app-portal.md
503+
href: functions-create-http-endpoint.md
493504
- name: Kotlin using IntelliJ
494505
href: functions-create-maven-kotlin-intellij.md
495506
- name: Consumption plan
@@ -545,7 +556,7 @@
545556
href: bring-dependency-to-functions.md
546557
- name: Develop Python worker extensions
547558
href: develop-python-worker-extensions.md
548-
- name: Deploy
559+
- name: Deploy
549560
items:
550561
- name: Continuous deployment
551562
href: functions-continuous-deployment.md
@@ -568,9 +579,6 @@
568579
href: deployment-zip-push.md
569580
- name: Run from package
570581
href: run-functions-from-deployment-package.md
571-
- name: Automate resource deployment
572-
href: functions-infrastructure-as-code.md
573-
displayName: bicep, ARM template
574582
- name: Deploy using the Jenkins plugin
575583
href: /azure/developer/jenkins/deploy-to-azure-functions?toc=/azure/azure-functions/toc.json
576584
- name: Configure

articles/azure-functions/flex-consumption-plan.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ Flex Consumption includes an _always ready_ feature that lets you choose instanc
7777

7878
For example, if you set always ready to 2 for your HTTP group of functions, the platform keeps two instances always running and assigned to your app for your HTTP functions in the app. Those instances are processing your function executions, but depending on concurrency settings, the platform scales beyond those two instances with on-demand instances.
7979

80+
No less than two always-ready instances can be configured per function or function group while [zone redundancy is enabled](../reliability/reliability-functions.md?pivots=flex-consumption-plan#availability-zone-support).
81+
8082
To learn how to configure always ready instances, see [Set always ready instance counts](flex-consumption-how-to.md#set-always-ready-instance-counts).
8183

8284
## Concurrency
@@ -131,7 +133,8 @@ In Flex Consumption many of the standard application settings and site configura
131133

132134
Keep these other considerations in mind when using Flex Consumption plan:
133135

134-
+ **Host**: There's a 30-second time out for app initialization. When your function app takes longer than 30 seconds to start, you might see gRPC-related `System.TimeoutException` entries logged. You can't currently configure this time out. For more information, see [this host work item](https://github.com/Azure/azure-functions-host/issues/10482).
136+
+ **Apps per Plan**: Only one app is allowed per Flex Consumption plan.
137+
+ **Host**: There's a 30-second time-out for app initialization. When your function app takes longer than 30 seconds to start, you might see gRPC-related `System.TimeoutException` entries logged. You can't currently configure this time-out. For more information, see [this host work item](https://github.com/Azure/azure-functions-host/issues/10482).
135138
+ **Durable Functions**: Azure Storage is currently the only supported [storage provider](./durable/durable-functions-storage-providers.md) for Durable Functions when hosted in the Flex Consumption plan. See [recommendations](./durable/durable-functions-azure-storage-provider.md#flex-consumption-plan) when hosting Durable Functions in the Flex Consumption plan.
136139
+ **Virtual network integration** Ensure that the `Microsoft.App` Azure resource provider is enabled for your subscription by [following these instructions](/azure/azure-resource-manager/management/resource-providers-and-types#register-resource-provider). The subnet delegation required by Flex Consumption apps is `Microsoft.App/environments`.
137140
+ **Triggers**: While all triggers are fully supported in a Flex Consumption plan, the Blob storage trigger only supports the [Event Grid source](./functions-event-grid-blob-trigger.md). Non-C# function apps must use version `[4.0.0, 5.0.0)` of the [extension bundle](./functions-bindings-register.md#extension-bundles), or a later version.
@@ -142,7 +145,7 @@ Keep these other considerations in mind when using Flex Consumption plan:
142145
+ **Diagnostic settings**: Diagnostic settings aren't currently supported.
143146
+ **Certificates**: Loading certificates with the WEBSITE_LOAD_CERTIFICATES app setting, managed certificates, app service certificates, and other platform certificate-based features are currently not supported.
144147
+ **Key Vault and App Configuration References**: You can't currently use [Azure Key Vault](../app-service/app-service-key-vault-references.md) or [Azure App Configuration](../app-service/app-service-configuration-references.md) references in your Flex Consumption plan app settings when these services are network access restricted. This limitation applies even when the function app has Virtual Network integration enabled. If you must use restricted Key Vault or App Configuration instances, you must use client SDKs to manually retrieve values from references in these services. Functions binding extensions also can't access these references, which means you must also use Azure client SDKs for accessing remote service data from your function code.
145-
+ **Timezones**: `WEBSITE_TIME_ZONE` and `TZ` app settings are not currently supported when running on Flex Consumption plan.
148+
+ **Timezones**: `WEBSITE_TIME_ZONE` and `TZ` app settings aren't currently supported when running on Flex Consumption plan.
146149

147150
## Related articles
148151

Lines changed: 43 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,22 @@
11
---
2-
title: Create your first function in the Azure portal
3-
description: Learn how to create your first Azure Function for serverless execution using the Azure portal.
2+
title: Create a function app in the Azure portal
3+
description: Learn how to create a function app for serverless execution in Azure Functions using the Azure portal.
44
ms.topic: how-to
5-
ms.date: 09/11/2024
6-
ms.custom: devx-track-csharp, mvc, devcenter, cc996988-fb4f-47, devdivchpfy22, devx-track-extended-java, devx-track-js, devx-track-python, build-2024, devx-track-ts
7-
zone_pivot_groups: programming-languages-set-functions
5+
ms.date: 05/08/2025
6+
zone_pivot_groups: functions-hosting-plan-dynamic
87
---
98

10-
# Create your first function in the Azure portal
11-
12-
Azure Functions lets you run your code in a serverless environment without having to first create a virtual machine (VM) or publish a web application. In this article, you learn how to use Azure Functions to create a "hello world" HTTP trigger function in the Azure portal.
13-
14-
Choose your preferred programming language at the top of the article.
15-
16-
::: zone pivot="programming-language-csharp"
17-
>[!NOTE]
18-
>Editing your C# function code in the Azure portal is currently only supported for [C# script (.csx) functions](functions-reference-csharp.md). To learn more about the limitations on editing function code in the Azure portal, see [Development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal).
19-
>
20-
> You should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
21-
>+ [Visual Studio](functions-create-your-first-function-visual-studio.md)
22-
>+ [Visual Studio Code](./create-first-function-vs-code-csharp.md)
23-
>+ [Terminal/command prompt](./create-first-function-cli-csharp.md)
24-
::: zone-end
25-
::: zone pivot="programming-language-java"
26-
>[!NOTE]
27-
>Editing your Java function code in the Azure portal isn't currently supported. For more information, see [Development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal).
28-
>
29-
> You should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
30-
>+ [Eclipse](functions-create-maven-eclipse.md)
31-
>+ [Gradle](functions-create-first-java-gradle.md)
32-
>+ [IntelliJ IDEA](functions-create-maven-intellij.md)
33-
>+ [Maven](create-first-function-cli-java.md)
34-
>+ [Quarkus](functions-create-first-quarkus.md)
35-
>+ [Spring Cloud](/azure/developer/java/spring-framework/getting-started-with-spring-cloud-function-in-azure?toc=/azure/azure-functions/toc.json)
36-
>+ [Visual Studio Code](create-first-function-vs-code-java.md)
37-
::: zone-end
38-
::: zone pivot="programming-language-javascript"
39-
>[!NOTE]
40-
>Because of [development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal), you should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
41-
>+ [Visual Studio Code](./create-first-function-vs-code-node.md)
42-
>+ [Terminal/command prompt](./create-first-function-cli-node.md)
43-
::: zone-end
44-
::: zone pivot="programming-language-python"
45-
>[!NOTE]
46-
>Because of [development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal), you should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
47-
>+ [Visual Studio Code](./create-first-function-vs-code-python.md)
48-
>+ [Terminal/command prompt](./create-first-function-cli-python.md)
49-
::: zone-end
50-
::: zone pivot="programming-language-typescript"
51-
>[!NOTE]
52-
>Editing your TypeScript function code in the Azure portal isn't currently supported. For more information, see [Development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal).
53-
>
54-
> You should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
55-
>+ [Visual Studio Code](./create-first-function-vs-code-typescript.md)
56-
>+ [Terminal/command prompt](./create-first-function-cli-typescript.md)
57-
::: zone-end
58-
::: zone pivot="programming-language-powershell"
59-
>[!NOTE]
60-
>Because of [development limitations in the Azure portal](functions-how-to-use-azure-function-app-settings.md#development-limitations-in-the-azure-portal), you should instead [develop your functions locally](functions-develop-local.md) and publish to a function app in Azure. Use one of the following links to get started with your chosen local development environment:
61-
>+ [Visual Studio Code](./create-first-function-vs-code-powershell.md)
62-
>+ [Terminal/command prompt](./create-first-function-cli-powershell.md)
63-
::: zone-end
64-
65-
Please review the [known issues](./recover-python-functions.md#development-issues-in-the-azure-portal) for development of Azure Functions using Python in the Azure portal.
9+
# Create a function app in the Azure portal
10+
11+
This article shows you how to use the Azure portal to create a function app that's hosted in Azure Functions. These hosting plan options, which support dynamic, event-driven scaling, are featured:
12+
13+
| Hosting option | Description |
14+
| ----- | ----- |
15+
| [Flex Consumption plan](./flex-consumption-plan.md) | Linux-only plan that provides rapid horizontal scaling with support for managed identities, virtual networking, and pay-as-you-go billing. |
16+
| [Premium plan](./functions-premium-plan.md) | Provides longer execution times, more control over CPU/memory, and support for containers and virtual networks. |
17+
| [Consumption plan](./consumption-plan.md) | Original dynamic hosting plan, which supports portal development for some languages. |
18+
19+
Choose your preferred hosting plan at the [top](#top) of the article. For more information about all supported hosting options, see [Azure Functions hosting options](functions-scale.md).
6620

6721
## Prerequisites
6822

@@ -76,46 +30,44 @@ Sign in to the [Azure portal](https://portal.azure.com) with your Azure account.
7630

7731
You must have a function app to host the execution of your functions. A function app lets you group functions as a logical unit for easier management, deployment, scaling, and sharing of resources.
7832

79-
Use these steps to create your function app and related Azure resources, whether or not you're able to edit your code in the Azure portal.
80-
::: zone pivot="programming-language-csharp"
81-
To be able to create a C# script app that you can edit in the portal, choose **8 (LTS), in-process model** for .NET **Version**.
82-
::: zone-end
83-
84-
[!INCLUDE [Create function app Azure portal](../../includes/functions-create-function-app-portal.md)]
33+
Use these steps to create your function app and related Azure resources in the Azure portal.
8534

86-
Next, create a function in the new function app.
35+
::: zone pivot="flex-consumption-plan"
36+
1. From the Azure portal menu or the **Home** page, select **Create a resource**.
8737

88-
::: zone pivot="programming-language-python,programming-language-javascript,programming-language-powershell,programming-language-csharp"
89-
## <a name="create-function"></a>Create an HTTP trigger function
38+
1. In the **New** page, select **Function App**.
9039

91-
1. In your function app, select **Overview**, and then select **+ Create** under **Functions**. If you don't see the **+ Create** button, you must instead [create your functions locally](./functions-develop-local.md).
40+
1. Under **Select a hosting option**, select **Flex Consumption** > **Select** to create your app in a [Flex Consumption plan](flex-consumption-plan.md). In this [serverless](https://azure.microsoft.com/overview/serverless-computing/) hosting option, you pay only for the time your functions run. To learn more about different hosting plans, see [Overview of plans](functions-scale.md#overview-of-plans).
9241

93-
1. Under **Select a template**, scroll down and choose the **HTTP trigger** template.
42+
1. On the **Basics** page, use the function app settings as specified in the following table:
9443

95-
1. In **Template details**, use `HttpExample` for **New Function**, select **Anonymous** from the **[Authorization level](functions-bindings-http-webhook-trigger.md#http-auth)** drop-down list, and then select **Create**.
44+
| Setting | Suggested value | Description |
45+
| ------------ | ---------------- | ----------- |
46+
| **Subscription** | Your subscription | The subscription under which you create your new function app. |
47+
| **[Resource Group](../azure-resource-manager/management/overview.md)** | *myResourceGroup* | Name for the new resource group in which you create your function app. You should create a new resource group because there are [known limitations when creating new function apps in an existing resource group](functions-scale.md#limitations-for-creating-new-function-apps-in-an-existing-resource-group).|
48+
| **Function App name** | Globally unique name | Name that identifies your new function app. Valid characters are `a-z` (case insensitive), `0-9`, and `-`. |
49+
|**Region**| Preferred region | Select a [region](https://azure.microsoft.com/regions/) that's near you or near other services that your functions can access. |
50+
| **Runtime stack** | Preferred language | Choose a runtime that supports your favorite function programming language. |
51+
|**Version**| Version number | Choose the version of your installed runtime. |
52+
|**Instance Size**| 2048 MB | The instance memory size used for each instance of the app as it scales. |
9653

97-
Azure creates the HTTP trigger function. Now, you can run the new function by sending an HTTP request.
98-
::: zone-end
99-
::: zone pivot="programming-language-java,programming-language-csharp,programming-language-typescript,programming-language-python"
100-
## Create your functions locally
54+
1. Accept the default options in the remaining tabs, including the default behavior of creating a new storage account on the **Storage** tab and a new Application Insights instance on the **Monitoring** tab. You can also choose to use an existing storage account or Application Insights instance, and change Azure OpenAI, Networking, Deployment, and Authentication settings.
10155

102-
If you aren't able to create your function code in the portal, you can instead create a local project and publish the function code to your new function app.
56+
1. Select **Review + create** to review the app configuration you chose, and then select **Create** to provision and deploy the function app.
10357

104-
1. In your function app, select **Overview**, and then in **Create functions in your preferred environment** under **Functions**.
58+
1. Select the **Notifications** icon in the upper-right corner of the portal and watch for the **Deployment succeeded** message.
10559

106-
1. Choose your preferred local development environment and follow the steps in the linked article to create and publish your first Azure Functions project.
60+
1. Select **Go to resource** to view your new function app. You can also select **Pin to dashboard**. Pinning makes it easier to return to this function app resource from your dashboard.
10761

108-
>[!TIP]
109-
>When publishing your new project, make sure to use the function app and related resources you just created.
110-
::: zone-end
111-
## Test the function
112-
113-
[!INCLUDE [functions-test-function-portal](../../includes/functions-test-function-portal.md)]
114-
115-
## Clean up resources
116-
117-
[!INCLUDE [Clean-up resources](../../includes/functions-quickstart-cleanup.md)]
62+
:::image type="content" source="../../includes/media/functions-create-function-app-portal/function-app-create-notification-new.png" alt-text="Screenshot of deployment notification.":::
63+
::: zone-end
64+
::: zone pivot="consumption-plan"
65+
[!INCLUDE [Create Consumption plan app Azure portal](../../includes/functions-create-function-app-portal.md)]
66+
::: zone-end
67+
::: zone pivot="premium-plan"
68+
[!INCLUDE [Create Premium plan app Azure portal](../../includes/functions-premium-create.md)]
69+
::: zone-end
11870

11971
## Next steps
12072

121-
[!INCLUDE [Next steps note](../../includes/functions-quickstart-next-steps.md)]
73+
[!INCLUDE [functions-quickstarts-infra-next-steps](../../includes/functions-quickstarts-infra-next-steps.md)]

0 commit comments

Comments
 (0)