Plan prémium de Azure FunctionsAzure Functions Premium plan

El plan Premium de Azure Functions (a veces denominado plan Elástico Premium) es una opción de hospedaje de las aplicaciones de funciones.The Azure Functions Premium plan (sometimes referred to as Elastic Premium plan) is a hosting option for function apps. El plan Premium cuenta con características como la conectividad de red virtual, arranques no en frío y hardware Premium.The Premium plan provides features like VNet connectivity, no cold start, and premium hardware. Pueden implementarse varias aplicaciones de funciones en el mismo plan Premium. Este plan permite configurar el tamaño de la instancia de proceso, el tamaño del plan base y el tamaño del plan máximo.Multiple function apps can be deployed to the same Premium plan, and the plan allows you to configure compute instance size, base plan size, and maximum plan size. Para ver una comparación del plan Premium y otros tipos de planes y hospedajes, consulte Escalado y hospedaje de Azure Functions.For a comparison of the Premium plan and other plan and hosting types, see function scale and hosting options.

Creación de un plan PremiumCreate a Premium plan

  1. En el menú de Azure Portal o en la página Principal, seleccione Crear un recurso.From the Azure portal menu or the Home page, select Create a resource.

  2. En la página Nuevo, seleccione Compute > Function App.In the New page, select Compute > Function App.

  3. En la página Básico, utilice la configuración de la aplicación de funciones como se especifica en la tabla siguiente:On the Basics page, use the function app settings as specified in the following table:

    ConfiguraciónSetting Valor sugeridoSuggested value DescripciónDescription
    SuscripciónSubscription Su suscripciónYour subscription Suscripción en la que se creará esta nueva aplicación de función.The subscription under which this new function app is created.
    Grupo de recursosResource Group myResourceGroupmyResourceGroup Nombre para el nuevo grupo de recursos en el que se va a crear la Function App.Name for the new resource group in which to create your function app.
    Nombre de la aplicación de funciónFunction App name Nombre único globalmenteGlobally unique name Nombre que identifica la nueva Function App.Name that identifies your new function app. Los caracteres válidos son a-z (no distingue mayúsculas de minúsculas), 0-9 y -.Valid characters are a-z (case insensitive), 0-9, and -.
    PublicarPublish CódigoCode Opción para publicar archivos de código o un contenedor de Docker.Option to publish code files or a Docker container.
    Pila en tiempo de ejecuciónRuntime stack Lenguaje preferidoPreferred language Elija un tiempo de ejecución que admita su lenguaje de programación de funciones preferido.Choose a runtime that supports your favorite function programming language. Elija .NET para funciones de C# y F#.Choose .NET for C# and F# functions.
    RegiónRegion Región preferidaPreferred region Elija una región cerca de usted o cerca de otros servicios a los que tendrán acceso las funciones.Choose a region near you or near other services your functions access.

    Página Datos básicos

  4. Seleccione Siguiente: Hospedaje.Select Next: Hosting. En la página Hospedaje, escriba la siguiente configuración:On the Hosting page, enter the following settings:

    ConfiguraciónSetting Valor sugeridoSuggested value DescripciónDescription
    Cuenta de almacenamientoStorage account Nombre único globalmenteGlobally unique name Cree una cuenta de almacenamiento que use la aplicación de función.Create a storage account used by your function app. Los nombres de las cuentas de almacenamiento deben tener entre 3 y 24 caracteres y solo pueden incluir números y letras en minúscula.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. También puede usar una cuenta existente que debe cumplir los requisitos de la cuenta de almacenamiento.You can also use an existing account, which must meet the storage account requirements.
    Sistema operativoOperating system Sistema operativo preferidoPreferred operating system Se preselecciona un sistema operativo en función de la selección de pila en tiempo de ejecución, pero puede cambiar esta configuración si es necesario.An operating system is pre-selected for you based on your runtime stack selection, but you can change the setting if necessary. Python solo es compatible con Linux.Python is only supported on Linux.
    PlanPlan PremiumPremium Plan de hospedaje que define cómo se asignan los recursos a la Function App.Hosting plan that defines how resources are allocated to your function app. Seleccione Premium.Select Premium. De forma predeterminada, se crea un plan de App Service.By default, a new App Service plan is created. El valor predeterminado de SKU y tamaño es EP1, donde EP son las siglas de Elástico Premium.The default Sku and size is EP1, where EP stands for elastic premium. Para más información, consulte la lista de SKU Premium.To learn more, see the list of Premium SKUs.
    Al ejecutar las funciones de JavaScript en un plan Prémium, debe elegir una instancia que tenga menos vCPU.When running JavaScript functions on a Premium plan, you should choose an instance that has fewer vCPUs. Para más información, consulte el apartado sobre la elección de planes Premium de un solo núcleo.For more information, see Choose single-core Premium plans.

    Página Hospedaje

  5. Seleccione Siguiente: Supervisión.Select Next: Monitoring. En la página Supervisión, escriba la siguiente configuración:On the Monitoring page, enter the following settings:

    ConfiguraciónSetting Valor sugeridoSuggested value DescripciónDescription
    Application InsightsApplication Insights Valor predeterminadoDefault Crea un recurso de Application Insights con el mismo nombre de aplicación en la región más cercana que lo admita.Creates an Application Insights resource of the same App name in the nearest supported region. Si expande esta configuración, puede cambiar el valor de Nuevo nombre de recurso o elegir otro valor en Ubicación en la ubicación geográfica de Azure para almacenar los datos.By expanding this setting, you can change the New resource name or choose a different Location in an Azure geography to store your data.

    Página Supervisión

  6. Seleccione Revisar y crear para revisar las selecciones de configuración de la aplicación.Select Review + create to review the app configuration selections.

  7. En la página Revisar y crear, revise la configuración y, a continuación, seleccione Crear para aprovisionar e implementar la aplicación de función.On the Review + create page, review your settings, and then select Create to provision and deploy the function app.

  8. Seleccione el icono Notificaciones de la esquina superior derecha del portal y observe el mensaje Implementación correcta.Select the Notifications icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

  9. Seleccione Ir al recurso para ver la nueva aplicación de función.Select Go to resource to view your new function app. También puede seleccionar Anclar al panel.You can also select Pin to dashboard. Dicho anclaje facilita la vuelta a este recurso de aplicación de función desde el panel.Pinning makes it easier to return to this function app resource from your dashboard.

    Notificación de implementación

También puede crear un plan Premium mediante az functionapp plan create en la CLI de Azure.You can also create a Premium plan using az functionapp plan create in the Azure CLI. En el ejemplo siguiente se crea un plan de nivel Elastic Premium 1:The following example creates an Elastic Premium 1 tier plan:

az functionapp plan create --resource-group <RESOURCE_GROUP> --name <PLAN_NAME> \
--location <REGION> --sku EP1

En este ejemplo, reemplace <RESOURCE_GROUP> por el grupo de recursos y <PLAN_NAME> por un nombre para el plan que sea único en el grupo de recursos.In this example, replace <RESOURCE_GROUP> with your resource group and <PLAN_NAME> with a name for your plan that is unique in the resource group. Especifique una compatible <REGION>.Specify a supported <REGION>. Para crear un plan Premium que admita Linux, incluya la opción --is-linux.To create a Premium plan that supports Linux, include the --is-linux option.

Con el plan creado, puede usar az functionapp create para crear la aplicación de funciones.With the plan created, you can use az functionapp create to create your function app. En el portal, el plan y la aplicación se crean al mismo tiempo.In the portal, both the plan and the app are created at the same time. Para ver un ejemplo de un script de la CLI de Azure completo, consulte Creación de una aplicación de funciones en un plan Premium.For an example of a complete Azure CLI script, see Create a function app in a Premium plan.

CaracterísticasFeatures

Las siguientes características están disponibles para las aplicaciones de funciones implementadas en planes Premium.The following features are available to function apps deployed to a Premium plan.

Instancias activadas previamentePre-warmed instances

Si hay un día en que no tiene lugar ningún evento ni ejecución en el plan de consumo, la aplicación puede reducirse horizontalmente a cero instancias.If no events and executions occur today in the Consumption plan, your app may scale in to zero instances. Cuando se produzcan nuevos eventos, será necesario especializar una nueva instancia con la aplicación que se ejecute en ella.When new events come in, a new instance needs to be specialized with your app running on it. La especialización de nuevas instancias puede tardar algún tiempo dependiendo de la aplicación.Specializing new instances may take some time depending on the app. Esta latencia adicional de la primera llamada también suele denominarse "arranque en frío basado en la aplicación".This additional latency on the first call is often called app cold start.

En el plan Premium, puede tener la aplicación previamente activada en un número concreto de instancias hasta alcanzar el tamaño mínimo del plan.In the Premium plan, you can have your app pre-warmed on a specified number of instances, up to your minimum plan size. Las instancias activadas previamente también permiten escalar una aplicación de forma anticipada antes de que llegue una carga elevada.Pre-warmed instances also let you pre-scale an app before high load. Cuando la aplicación realiza el escalado horizontal, primero escala las instancias activadas previamente.As the app scales out, it first scales into the pre-warmed instances. Otras instancias seguirán preparándose y calentando motores en previsión de la nueva operación de escalado.Additional instances continue to buffer out and warm immediately in preparation for the next scale operation. Al contar con una serie de instancias activadas previamente, se pueden evitar eficazmente las latencias de los arranques en frío.By having a buffer of pre-warmed instances, you can effectively avoid cold start latencies. Las instancias activadas previamente son una característica del plan Premium que requiere que haya al menos una instancia en ejecución disponible siempre que el plan esté activo.Pre-warmed instances is a feature of the Premium plan, and you need to keep at least one instance running and available at all times the plan is active.

Puede configurar el número de instancias activadas previamente en Azure Portal. Para ello, seleccione una aplicación de funciones en Function App, vaya a la pestaña Características de la plataforma y seleccione las opciones de Escalar horizontalmente.You can configure the number of pre-warmed instances in the Azure portal by selected your Function App, going to the Platform Features tab, and selecting the Scale Out options. En la ventana de edición de la aplicación de funciones, las instancias activadas previamente que aparecen son específicas de esa aplicación, pero el número mínimo y máximo de instancias se aplica a todo el plan.In the function app edit window, pre-warmed instances is specific to that app, but the minimum and maximum instances apply to your entire plan.

Configuración del escalado elástico

Las instancias activadas previamente para una aplicación también se pueden configurar con la CLI de Azure.You can also configure pre-warmed instances for an app with the Azure CLI.

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.preWarmedInstanceCount=<desired_prewarmed_count> --resource-type Microsoft.Web/sites

Conectividad de red privadaPrivate network connectivity

Las instancias de Azure Functions implementadas en un plan Premium tienen la ventaja de disfrutar de la nueva integración con red virtual para aplicaciones web.Azure Functions deployed to a Premium plan takes advantage of new VNet integration for web apps. Cuando se configura, la aplicación puede comunicarse con los recursos de la red virtual o protegerse mediante puntos de conexión de servicio.When configured, your app can communicate with resources within your VNet or secured via service endpoints. Las restricciones de IP también están disponibles en la aplicación para restringir el tráfico entrante.IP restrictions are also available on the app to restrict incoming traffic.

Cuando se asigne una subred a la aplicación de funciones en un plan Premium, necesitará una subred con suficientes direcciones IP para cada posible instancia.When assigning a subnet to your function app in a Premium plan, you need a subnet with enough IP addresses for each potential instance. Se requiere un bloque de direcciones IP con al menos 100 direcciones disponibles.We require an IP block with at least 100 available addresses.

Para más información, consulte Integración de una aplicación de funciones con una red virtual.For more information, see integrate your function app with a VNet.

Escalado elástico rápidoRapid elastic scale

Otras instancias de proceso se agregan automáticamente a la aplicación utilizando la misma lógica de escalado rápido que el plan de consumo.Additional compute instances are automatically added for your app using the same rapid scaling logic as the Consumption plan. Las aplicaciones dentro del mismo plan de App Service se escalan de forma independiente entre sí y en función de las necesidades de una aplicación individual,Apps in the same App Service Plan scale independently from one another based on the needs of an individual app. pero las aplicaciones de Functions dentro del mismo plan de App Service sí comparten recursos de máquina virtual para contribuir a reducir los costes, siempre que sea posible.However, Functions apps in the same App Service Plan share VM resources to help reduce costs, when possible. El número de aplicaciones asociadas a una máquina virtual depende de la superficie de cada aplicación y del tamaño de la máquina virtual en cuestión.The number of apps associated with a VM depends on the footprint of each app and the size of the VM.

Para más información sobre el funcionamiento del escalado, consulte este artículo sobre el escalado y hospedaje de funciones.To learn more about how scaling works, see Function scale and hosting.

Duración de la ejecución más largaLonger run duration

Azure Functions en un plan de consumo que impone un límite de 10 minutos en cada ejecución.Azure Functions in a Consumption plan are limited to 10 minutes for a single execution. En el plan Premium, la duración de ejecución predeterminada es de 30 minutos para evitar ejecuciones descontroladas.In the Premium plan, the run duration defaults to 30 minutes to prevent runaway executions. Sin embargo, puede modificar la configuración de host.json para que sea ilimitada en las aplicaciones del plan Premium (60 minutos garantizados).However, you can modify the host.json configuration to make this unbounded for Premium plan apps (guaranteed 60 minutes).

Configuración del plan y la SKUPlan and SKU settings

Cuando se crea un plan, hay que configurar dos opciones: el número mínimo de instancias (o tamaño de plan) y el límite máximo de ráfaga.When you create the plan, you configure two settings: the minimum number of instances (or plan size) and the maximum burst limit. Las instancias mínimas están reservadas y siempre en ejecución.Minimum instances are reserved and always running.

Importante

Se le cobrará por cada instancia especificada en el número mínimo de instancias independientemente de si las funciones se ejecutan o no.You are charged for each instance allocated in the minimum instance count regardless if functions are executing or not.

Si la aplicación necesita instancias que superan el tamaño del plan, puede seguir realizando el escalado horizontal hasta que el número de instancias alcance el límite máximo de ráfaga.If your app requires instances beyond your plan size, it can continue to scale out until the number of instances hits the maximum burst limit. Las instancias que superen el tamaño del plan solo se cobrarán cuando estén en ejecución y las tenga alquiladas.You are billed for instances beyond your plan size only while they are running and rented to you. Haremos todo lo posible para escalar horizontalmente la aplicación con arreglo al límite máximo definido y garantizaremos siempre que el uso de las instancias mínimas del plan para la aplicación.We will make a best effort at scaling your app out to its defined maximum limit, whereas the minimum plan instances are guaranteed for your app.

Puede configurar el tamaño del plan y establecer valores máximos en Azure Portal seleccionando las opciones Escalar horizontalmente en el plan o una aplicación de funciones implementada en el plan (en Características de la plataforma).You can configure the plan size and maximums in the Azure portal by selecting the Scale Out options in the plan or a function app deployed to that plan (under Platform Features).

También puede aumentar el límite máximo de ráfaga mediante la CLI de Azure:You can also increase the maximum burst limit from the Azure CLI:

az resource update -g <resource_group> -n <premium_plan_name> --set properties.maximumElasticWorkerCount=<desired_max_burst> --resource-type Microsoft.Web/serverfarms 

SKU de instancias disponiblesAvailable instance SKUs

Cuando cree o escale un plan, podrá elegir entre tres tamaños de instancia.When creating or scaling your plan, you can choose between three instance sizes. Se le facturará el número total de núcleos y de memoria consumida por segundo.You will be billed for the total number of cores and memory consumed per second. La aplicación puede escalar horizontalmente de forma automática en varias instancias cuando sea necesario.Your app can automatically scale out to multiple instances as needed.

SKUSKU NúcleosCores MemoriaMemory StorageStorage
EP1EP1 11 3,5 GB3.5GB 250 GB250GB
EP2EP2 22 7 GB7GB 250 GB250GB
EP3EP3 44 14 GB14GB 250 GB250GB

Consideraciones sobre el uso de memoriaMemory utilization considerations

La ejecución en un equipo con más memoria no siempre significa que la aplicación de funciones usará toda la memoria disponible.Running on a machine with more memory does not always mean that your function app will use all available memory.

Por ejemplo, una aplicación de funciones de JavaScript está restringida por el límite de memoria predeterminado en Node.js.For example, a JavaScript function app is constrained by the default memory limit in Node.js. Para aumentar este límite de memoria fijo, agregue la configuración de la aplicación languageWorkers:node:arguments con un valor de --max-old-space-size=<max memory in MB>.To increase this fixed memory limit, add the app setting languageWorkers:node:arguments with a value of --max-old-space-size=<max memory in MB>.

Escalabilidad horizontal máxima en regionesRegion Max Scale Out

A continuación se muestran los valores máximos de escalabilidad horizontal actualmente admitidos para un solo plan en cada región y configuración del sistema operativo.Below are the currently supported maximum scale out values for a single plan in each region and OS configuration. Para solicitar un aumento, abra una incidencia de soporte técnico.To request an increase please open a support ticket.

Consulte la disponibilidad regional completa de Functions aquí: Azure.comSee the complete regional availability of Functions here: Azure.com

RegionRegion WindowsWindows LinuxLinux
Centro de AustraliaAustralia Central 2020 No disponibleNot Available
Centro de Australia 2Australia Central 2 2020 No disponibleNot Available
Este de AustraliaAustralia East 100100 2020
Sudeste de AustraliaAustralia Southeast 100100 2020
Sur de BrasilBrazil South 6060 2020
Centro de CanadáCanada Central 100100 2020
Centro de EE. UU.Central US 100100 2020
Este de AsiaEast Asia 100100 2020
Este de EE. UU.East US 100100 2020
Este de EE. UU. 2East US 2 100100 2020
Centro de FranciaFrance Central 100100 2020
Centro-oeste de AlemaniaGermany West Central 100100 No disponibleNot Available
Japón OrientalJapan East 100100 2020
Japón OccidentalJapan West 100100 2020
Centro de Corea del SurKorea Central 100100 2020
Centro-Norte de EE. UUNorth Central US 100100 2020
Norte de EuropaNorth Europe 100100 2020
Este de NoruegaNorway East 2020 2020
Centro-sur de EE. UU.South Central US 100100 2020
Sur de la IndiaSouth India 100100 No disponibleNot Available
Sudeste de AsiaSoutheast Asia 100100 2020
Sur de Reino UnidoUK South 100100 2020
Oeste de Reino UnidoUK West 100100 2020
Oeste de EuropaWest Europe 100100 2020
Oeste de la IndiaWest India 100100 2020
Centro-Oeste de EE. UU.West Central US 2020 2020
Oeste de EE. UU.West US 100100 2020
Oeste de EE. UU. 2West US 2 100100 2020

Pasos siguientesNext steps