Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O plano Premium Elástico do Azure Functions é uma opção de hospedagem de escala dinâmica para aplicativos de funções. Para outras opções de plano de hospedagem, consulte as opções de hospedagem do Azure Functions.
Importante
O Azure Functions pode ser executado na plataforma de Serviço de Aplicativo do Azure. Na plataforma do Serviço de Aplicativo, os planos que hospedam Premium aplicativos de função de plano são chamados de planos Premium Elásticos, com nomes de SKU como EP1. Se optar por executar seu aplicativo de funções em um plano Premium, crie um plano com um nome de SKU que comece com "E", como EP1. Os nomes de SKU do Plano do Serviço de Aplicativo que começam com "P", como o P1V2 (Plano Premium V2 Small), são, na verdade, Planos de hospedagem Dedicados. Como eles são Dedicados e não Elásticos Premium, os planos com nomes de SKU começando com "P" não serão dimensionados dinamicamente e poderão aumentar os custos.
A hospedagem de plano Premium oferece os seguintes benefícios para suas funções:
- Instâncias sempre prontas e pré-aquecidas para evitar inicializações frias
- Conectividade da rede virtual
- Suporte para durações de tempo de execução mais longas
- Escolha dos tamanhos de instância Premium
- Preços mais previsíveis em comparação com o plano de consumo
- Alocação de aplicativos de alta densidade para planos com vários aplicativos de funções
- Suporte para implantações de contêiner do Linux
Ao usar o plano Premium, você adiciona e remove instâncias do host do Azure Functions com base no número de eventos de entrada, assim como o plano de consumo flex e o plano de consumo. Você pode implantar vários aplicativos de funções no mesmo plano Premium. Você pode configurar o tamanho da instância de computação, o tamanho do plano base e o tamanho máximo do plano.
Cobrança
Você paga pelo plano Premium com base no número de segundos principais e na memória alocada entre instâncias. Esse modelo de cobrança é diferente do plano de Consumo, que cobra com base no consumo de recursos por segundo e nas execuções. O plano Premium não tem nenhum custo de execução. Esse modelo de cobrança resulta em um custo mensal mínimo por plano ativo, seja a função ativa ou ociosa. Todos os aplicativos de funções em um plano Premium compartilham instâncias alocadas. Para saber mais, confira Preços do Azure Functions.
Observação
Todo plano premium sempre tem, pelo menos, uma instância ativa (cobrada).
Criar um plano Premium
Quando você cria um aplicativo de funções no portal do Azure, o plano de Consumo é o padrão. Para criar um aplicativo de funções executado em um plano Premium, você deve criar ou escolher explicitamente um plano de hospedagem Premium do Azure Functions usando uma das versões do Elastic Premium . Você hospeda o aplicativo de funções que cria neste plano. O portal do Azure facilita a criação concomitante do plano Premium e do aplicativo de funções. Você pode executar mais de um aplicativo de funções no mesmo plano Premium, mas eles devem ser executados no mesmo sistema operacional (Windows ou Linux).
Os seguintes artigos mostram como criar de forma programática um aplicativo de funções com um plano Premium:
Eliminar inicializações a frio
Quando os eventos ou execuções não ocorrem no plano de Consumo, seu aplicativo poderá ser dimensionado para zero instâncias. Quando novos eventos chegam, o sistema deve criar uma nova instância que execute seu aplicativo. A especialização de novas instâncias leva tempo, dependendo do aplicativo. Essa latência extra na primeira chamada geralmente é chamada de início frio.
O plano Premium fornece dois recursos que funcionam juntos para eliminar efetivamente o cold start em suas funções: instâncias sempre prontas e instâncias pré-aquecidas. As instâncias sempre prontas constituem uma categoria de instâncias pré-alocadas não afetadas pelo dimensionamento, e as instâncias pré-aquecidas funcionam como um buffer à medida que você as dimensiona devido a eventos de HTTP.
Quando os eventos começam a acionar o aplicativo, o sistema os encaminha primeiro para as instâncias sempre prontas. À medida que a função se torna ativa devido a eventos HTTP, outras instâncias se aquecem como um buffer. Essas instâncias que geram um buffer são chamadas de instâncias pré-aquecidas. Esse buffer reduz a inicialização a frio para novas instâncias necessárias durante o dimensionamento.
Instâncias sempre prontas
No plano Premium, você pode ter seu aplicativo sempre pronto em um número especificado de instâncias. Seu aplicativo é executado continuamente nessas instâncias, independentemente da carga. Se a carga exceder o que suas instâncias sempre prontas podem manipular, o aplicativo adicionará mais instâncias conforme necessário, até o máximo especificado.
Essa configuração no nível do aplicativo também controla as instâncias mínimas do seu plano. Por exemplo, considere três aplicativos de funções no mesmo plano Premium. Quando dois de seus aplicativos sempre tiverem a contagem de instâncias pronta definida como uma e o terceiro aplicativo for definido como cinco, o número mínimo para todo o plano será cinco. Esse número também reflete o número mínimo de instâncias pelas quais seu plano é cobrado. O número máximo de instâncias suportadas por aplicativo que estão sempre prontas é 20.
Você pode configurar o número de instâncias sempre prontas no portal do Azure selecionando seu Aplicativo de Funções, acessando a opção de menuScale Out do > do Serviço de Aplicativo à esquerda e editando as opções de Expansão de Aplicativos. Na janela editar do aplicativo de funções, as instâncias sempre prontas são específicas para esse aplicativo.
Instâncias pré-aquecidas
A configuração do número de instâncias pré-aquecidas fornece instâncias aquecidas que atuam como um buffer durante os eventos de ativação e o dimensionamento de HTTP. As instâncias pré-aquecidas continuam no buffer até que o limite máximo de expansão seja atingido. A contagem padrão de instâncias pré-aquecidas é 1 e, para a maioria dos cenários, mantenha esse valor como 1.
Considere um cenário menos comum, como um aplicativo em execução em um contêiner personalizado. Como os contêineres personalizados têm um tempo de aquecimento longo, você pode considerar aumentar esse buffer de instâncias pré-aquecidas. Uma instância pré-aquecida se torna ativa somente depois que todas as instâncias ativas estiverem em uso.
Você também pode definir um gatilho de aquecimento que é executado durante o processo de pré-aquecimento. Você pode usar um gatilho de aquecimento para pré-carregar dependências personalizadas durante o processo de pré-aquecimento de forma que suas funções fiquem prontas para começar a processar solicitações imediatamente. Para saber mais, veja Gatilhos de aquecimento do Azure Functions.
Veja esse exemplo que mostra como as instâncias sempre prontas e as instâncias pré-aquecidas funcionam juntas. Um aplicativo de funções premium tem duas instâncias sempre prontas configuradas e o número padrão de uma instância pré-aquecida.
- Quando o aplicativo está ocioso e nenhum evento está sendo acionado, o aplicativo é provisionado e executado com duas instâncias. No momento, a cobrança é feita pelas duas instâncias sempre prontas, mas não é cobrado por uma instância pré-aquecida, já que nenhuma instância pré-aquecida é alocada.
- À medida que seu aplicativo começa a receber tráfego HTTP, as solicitações são balanceadas por carga entre as duas instâncias sempre prontas. Assim que essas duas instâncias iniciam o processamento de eventos, uma instância é adicionada para preencher o buffer pré-armado. O aplicativo agora está sendo executado com três instâncias provisionadas: as duas instâncias sempre prontas e a terceira que é um buffer pré-aquecido e inativo. A cobrança é feita pelas três instâncias.
- À medida que a carga aumenta e seu aplicativo precisa de mais instâncias para lidar com o tráfego HTTP, essa instância pré-aquecida é convertida em uma instância ativa. A carga HTTP agora é roteada para todas as três instâncias e uma quarta instância é provisionada instantaneamente para preencher o buffer pré-aquecido.
- Essa sequência de ampliação e pré-aquecimento continua até que o número máximo de instâncias do aplicativo seja atingido ou a carga diminua, fazendo com que a plataforma seja reduzida após um determinado período. Nenhuma instância é pré-aquecida ou ativada além do número máximo.
Não é possível alterar a configuração de contagem de instâncias pré-aquecidas no portal. Em vez disso, você deve usar a CLI do Azure ou o Azure PowerShell.
Máximo de instâncias do aplicativo de funções
Além da contagem máxima de intermitências do plano, você pode configurar um máximo por aplicativo. Configure o máximo do aplicativo usando o limite de escala do aplicativo. O limite máximo de expansão do aplicativo não pode exceder o máximo de instâncias de intermitência do plano.
Conectividade de rede privada
Os aplicativos de funções implantados em um plano Premium podem tirar proveito da integração de rede virtual para aplicativos web. Quando configurado, seu aplicativo pode se comunicar com recursos dentro da sua rede virtual ou protegidos por meio de pontos de extremidade de serviço. Você também pode usar restrições de IP no aplicativo para restringir o tráfego de entrada.
Ao atribuir uma sub-rede ao seu aplicativo de funções em um plano Premium, você precisa de uma sub-rede com endereços IP suficientes para cada instância em potencial. Você precisa de um bloco IP com pelo menos 100 endereços disponíveis.
Para obter mais informações, consulte Integrar o Azure Functions a uma rede virtual.
Dimensionamento elástico rápido
A mesma lógica de dimensionamento rápido dos planos de Consumo Flexível e Consumo adiciona automaticamente mais instâncias de computação para seu aplicativo. Os aplicativos no mesmo Plano do Serviço de Aplicativo escalam de forma independente, com base nas necessidades de um aplicativo individual. No entanto, os aplicativos de Funções no mesmo Plano do Serviço de Aplicativo compartilham recursos da VM para ajudar a reduzir os custos, quando possível. O número de aplicativos associados a uma VM depende do volume de memória de cada aplicativo e do tamanho da VM.
Para saber mais sobre como a colocação em escala funciona, consulte Colocação em escala controlada por eventos no Azure Functions.
Duração da execução mais longa
As funções em um plano de consumo são limitadas a 10 minutos para uma única execução. No plano Premium, o padrão de duração da execução é de 30 minutos para evitar execuções sem controle. No entanto, é possível modificar a configuração de host.json a fim de tornar a duração ilimitada para aplicativos do plano Premium, com as seguintes limitações:
- As atualizações da plataforma podem acionar um desligamento gerenciado e interromper a execução da função com um período de tolerância de 10 minutos.
- Um temporizador ocioso interrompe o trabalho após 60 minutos sem novas execuções.
- Comportamento de redução pode causar o desligamento do trabalhador após 60 minutos.
- As trocas de slot podem encerrar execuções nos slots de origem e destino durante a troca.
Migração
Se você possuir um aplicativo de funções existente, use os comandos da CLI do Azure para migrar seu aplicativo entre um plano de Consumo e um plano Premium no Windows. Os comandos específicos dependem da direção da migração. Para obter mais informações, confira Plano de migração.
Não há suporte para essa migração no Linux.
Configurações do plano Premium
Ao criar o plano, você define duas configurações de tamanho de plano: o número mínimo de instâncias (ou tamanho do plano) e o limite máximo de intermitência.
Se o seu aplicativo precisar de mais instâncias além das instâncias sempre prontas, ele poderá continuar a expandir até que o número de instâncias atinja o limite máximo de aumento do plano ou o limite máximo de expansão do aplicativo, se você o definir. Você paga por instâncias apenas enquanto elas estão em execução e alocadas a você, por segundo. A plataforma se esforça ao máximo para escala de seu aplicativo até os limites máximos definidos.
Você pode configurar o tamanho do plano no portal do Azure selecionando seu Aplicativo de Funções implantado nesse plano, acessando o menu Escalar Verticalmente nas opções de > à esquerda e escolhendo um tamanho de plano maior. Para aumentar o limite máximo de rajada, escolha a opção de menu Expandir e edite a opção Expansão do plano>Rajada máxima.
O mínimo para cada plano Premium é de pelo menos uma instância. O número mínimo real de instâncias é determinado com base nas instâncias sempre prontas solicitadas por aplicativos no plano. Por exemplo, se o aplicativo A solicitar cinco instâncias sempre prontas e o aplicativo B solicitar duas instâncias sempre prontas no mesmo plano, o tamanho mínimo do plano será determinado como sendo cinco. O aplicativo A é executado em todas as cinco instâncias e o aplicativo B é executado em duas.
Importante
Você recebe cobrança por cada instância alocada na contagem mínima de instâncias se as funções estão ou não em execução.
Na maioria das circunstâncias, esse mínimo calculado automaticamente é suficiente. No entanto, o dimensionamento além do mínimo é realizado da melhor forma possível. É possível, embora seja improvável, que uma expansão em um momento específico possa ser adiada se as instâncias adicionais estiverem indisponíveis. Ao definir um mínimo maior que o mínimo calculado automaticamente, você reservará as instâncias da expansão com antecedência.
Você pode configurar as instâncias mínimas no portal do Azure selecionando seu Aplicativo de Funções implantado nesse plano, acessando a opção de menuScale Out do > do Serviço de Aplicativo à esquerda e editando a opção Plan Scale out>Minimum Instances.
SKUs da instância disponível
Ao criar ou dimensionar seu plano, escolha entre três tamanhos de instância. Você é cobrado pelo número total de núcleos e memória que você provisiona, por segundo, para cada instância alocada a você. Seu aplicativo pode escalar horizontalmente de forma automática para várias instâncias, conforme necessário.
| SKU | Núcleos | Memória | Armazenamento |
|---|---|---|---|
| EP1 | 1 | 3,5 GB | 250 GB |
| EP2 | 2 | 7 GB | 250 GB |
| EP3 | 4 | 14 GB | 250 GB |
Considerações sobre o uso de memória
A execução em um computador com mais memória nem sempre significa que seu aplicativo de funções usa toda a memória disponível.
Por exemplo, um aplicativo de funções JavaScript é restrito pelo limite de memória padrão em Node.js. Para aumentar esse limite de memória fixa, adicione a configuração do aplicativo languageWorkers:node:arguments com um valor de --max-old-space-size=<max memory in MB>.
Para planos com mais de 4 GB de memória, defina a Configuração da Plataforma bitness como 64 Bit em configurações gerais.
Expansão máxima da região
A tabela a seguir lista os valores máximos de expansão com suporte no momento para um único plano em cada região e configuração do sistema operacional:
| Região | Windows | Linux |
|---|---|---|
| Austrália Central | 100 | 20 |
| Austrália Central 2 | 100 | Não disponível |
| Leste da Austrália | 100 | 40 |
| Sudeste da Austrália | 100 | 20 |
| Sul do Brasil | 100 | 20 |
| Canadá Central | 100 | 100 |
| Índia Central | 100 | 20 |
| EUA Central | 100 | 100 |
| Leste da China 2 | 20 | 20 |
| Norte da China 2 | 20 | 20 |
| Norte da China 3 | 20 | 20 |
| Ásia Oriental | 100 | 20 |
| Leste dos EUA | 100 | 100 |
| Leste dos EUA 2 | 80 | 100 |
| França Central | 100 | 60 |
| Centro-oeste da Alemanha | 100 | 20 |
| Israel Central | 100 | 20 |
| Norte da Itália | 100 | 20 |
| Leste do Japão | 100 | 20 |
| Oeste do Japão | 100 | 20 |
| Oeste da Índia JIO | 100 | 20 |
| Coreia Central | 100 | 20 |
| Sul da Coreia | 40 | 20 |
| México Central | 20 | 20 |
| Centro-Norte dos EUA | 100 | 20 |
| Europa Setentrional | 100 | 100 |
| Leste da Noruega | 100 | 20 |
| Norte da África do Sul | 100 | 20 |
| Oeste da África do Sul | 20 | 20 |
| Centro-Sul dos EUA | 100 | 100 |
| Sul da Índia | 100 | Não disponível |
| Sudeste Asiático | 100 | 20 |
| Espanha Central | 20 | 20 |
| Norte da Suíça | 100 | 20 |
| Oeste da Suíça | 100 | 20 |
| Norte dos EAU | 100 | 100 |
| Sul do Reino Unido | 100 | 100 |
| Oeste do Reino Unido | 100 | 20 |
| Gov. dos EUA – Arizona | 20 | 20 |
| Gov. dos EUA – Texas | 20 | Não disponível |
| US Gov - Virgínia | 80 | 20 |
| Centro-oeste dos EUA | 100 | 20 |
| Oeste da Europa | 100 | 100 |
| Índia Ocidental | 100 | 20 |
| Oeste dos EUA | 100 | 100 |
| Oeste dos EUA 2 | 100 | 20 |
| Oeste dos EUA 3 | 100 | 20 |
Para obter mais informações, veja Produtos disponíveis por região.