Estimativa dos custos do plano de consumo

Existem atualmente três tipos de planos de hospedagem para uma app que funciona em Funções do Azure, com cada plano tendo o seu próprio modelo de preços:

Planear Description
Consumo Só é cobrado pelo tempo que a sua aplicação de função for executado. Este plano inclui uma subvenção gratuita por subscrição.
Premium Fornece-lhe as mesmas funcionalidades e mecanismo de escala que o plano de Consumo, mas com um desempenho melhorado e acesso VNET. O custo baseia-se no seu nível de preços escolhido. Para saber mais, veja Funções do Azure Premium plano.
Dedicado (Serviço de Aplicações)
(nível básico ou superior)
Quando precisar de correr em VMs dedicados ou isoladamente, use imagens personalizadas ou queira utilizar o seu excesso Serviço de Aplicações capacidade de plano. Usa a faturação regular do plano de Serviço de Aplicações. O custo baseia-se no seu nível de preços escolhido.

Escolheu o plano que melhor suporta o desempenho da sua função e os requisitos de custos. Para saber mais, consulte Funções do Azure escala e hospedagem.

Este artigo trata apenas do plano de Consumo, uma vez que este plano resulta em custos variáveis. Este artigo substitui o plano de consumo custo de faturação do artigo FAQ .

Durable Functions também podem funcionar num plano de Consumo. Para saber mais sobre as considerações de custos ao utilizar Durable Functions, consulte Durable Functions faturação.

Custos do plano de consumo

O custo de execução de uma única função é medido em GB-segundos. O custo de execução é calculado combinando o seu uso de memória com o seu tempo de execução. Uma função que funciona por mais tempo custa mais, assim como uma função que consome mais memória.

Considere um caso em que a quantidade de memória utilizada pela função permanece constante. Neste caso, calcular o custo é uma simples multiplicação. Por exemplo, digamos que a sua função consumiu 0,5 GB durante 3 segundos. Então o custo de execução é 0.5GB * 3s = 1.5 GB-seconds.

Uma vez que o uso da memória muda ao longo do tempo, o cálculo é essencialmente a parte integrante do uso da memória ao longo do tempo. O sistema faz este cálculo através da amostragem do uso da memória do processo (juntamente com os processos infantis) em intervalos regulares. Como mencionado na página de preços, o uso da memória é arredondado até o balde de 128-MB mais próximo. Quando o seu processo está a usar 160 MB, é cobrado por 256 MB. O cálculo tem em conta a concordância, que é múltiplas execuções de funções simultâneas no mesmo processo.

Nota

Embora o uso do CPU não seja considerado diretamente no custo de execução, pode ter um impacto no custo quando afeta o tempo de execução da função.

Para uma função acionada por HTTP, quando ocorre um erro antes do seu código de função começar a executar, não é cobrado para uma execução. Isto significa que 401 respostas da plataforma devido à validação da chave API ou à função Serviço de Aplicações Autenticação/Autorização não contam com o custo de execução. Da mesma forma, as respostas ao código de estado 5xx não são contadas quando ocorrem na plataforma antes de uma função de processamento do pedido. Uma resposta de 5xx gerada pela plataforma após o início do seu código de função ainda é contada como uma execução, mesmo que o erro não seja levantado pelo seu código de função.

Ao estimar o custo global de execução das suas funções em qualquer plano, lembre-se que o tempo de execução de Funções utiliza vários outros serviços Azure, que são faturados separadamente. Ao calcular os preços para aplicações de funções, quaisquer gatilhos e encadernações que tenha que se integrem com outros serviços Azure exigem que crie e pague por esses serviços adicionais.

Para funções em execução num plano de Consumo, o custo total é o custo de execução das suas funções, acrescido do custo da largura de banda e serviços adicionais.

Ao estimar os custos globais da sua aplicação de função e serviços conexos, utilize a calculadora de preços Azure.

Custo relacionado Descrição
Conta de armazenamento Cada aplicação de função requer que tenha uma conta Fins Gerais Azure Armazenamento associada, que é faturada separadamente. Esta conta é utilizada internamente pelo tempo de funcionamento das Funções, mas também pode usá-la para Armazenamento gatilhos e encadernações. Se não tiver uma conta de armazenamento, uma é criada para si quando a aplicação de função é criada. Para saber mais, consulte Armazenamento requisitos de conta.
Application Insights As funções dependem do Informações de aplicação para proporcionar uma experiência de monitorização de alto desempenho para as suas aplicações de função. Embora não seja necessário, deve ativar a integração Informações de aplicação. Todos os meses são incluídos dados de telemetria gratuitos. Para saber mais, consulte a página de preços do Azure Monitor.
Largura de banda de rede Não se paga a transferência de dados entre os serviços da Azure na mesma região. No entanto, pode incorrer em custos para transferências de dados de saída para outra região ou fora de Azure. Para saber mais, consulte os detalhes dos preços da largura de banda.

Comportamentos que afetam o tempo de execução

Os seguintes comportamentos das suas funções podem ter impacto no tempo de execução:

  • Gatilhos e encadernações: O tempo necessário para ler a entrada e escrever a saída para as encadernações da sua função é contado como tempo de execução. Por exemplo, quando a sua função utiliza uma ligação de saída para escrever uma mensagem para uma fila de armazenamento Azure, o seu tempo de execução inclui o tempo necessário para escrever a mensagem para a fila, que está incluída no cálculo do custo da função.

  • Execução assíncrona: O tempo que a sua função aguarda pelos resultados de um pedido de assínio (await em C#) é contado como tempo de execução. O cálculo gb-segundo baseia-se no tempo de início e fim da função e na utilização da memória durante esse período. O que está a acontecer ao longo desse tempo em termos de atividade da CPU não é contabilizado no cálculo. Pode ser capaz de reduzir custos durante operações assíncronos utilizando Durable Functions. Não estás cobrado pelo tempo que passa nas esperas em funções de orquestrador.

Na sua fatura, pode consultar os dados relacionados com o custo de Execuções Totais - Funções e Tempo de Execução - Funções, juntamente com os custos reais cobrados. No entanto, estes dados da fatura são um agregado mensal para um período de faturação anterior.

Métricas de nível de aplicação de função

Para entender melhor o impacto de custos das suas funções, pode utilizar o Azure Monitor para visualizar métricas relacionadas com os custos atualmente geradas pelas suas aplicações de função.

Utilize o explorador de métricas do Azure Monitor para visualizar dados relacionados com o custo para as aplicações de função do seu plano de consumo num formato gráfico.

  1. Na portal do Azure, navegue para a sua aplicação de função.

  2. No painel esquerdo, desloque-se até ao Monitoring e escolha Métricas.

  3. A partir da Métrica, escolha contagem de execução de função e soma para agregação. Isto adiciona a soma das contagens de execução durante o período escolhido ao gráfico.

    Define a functions app metric to add to the chart

  4. Selecione Adicionar os passos métricos e repetir os passos 2-4 para adicionar Unidades de Execução à tabela.

O gráfico resultante contém os totais para ambas as métricas de execução no intervalo de tempo escolhido, que neste caso é de duas horas.

Graph of function execution counts and execution units

Como o número de unidades de execução é muito maior do que a contagem de execução, o gráfico apenas mostra unidades de execução.

Este gráfico mostra um total de 1,11 mil milhões Function Execution Units consumidos num período de duas horas, medido em MB-milissegundos. Para converter em GB-segundos, divida por 1024000. Neste exemplo, a aplicação de função consumiu 1110000000 / 1024000 = 1083.98 GB-segundos. Pode pegar neste valor e multiplicar-se pelo preço atual do tempo de execução na página de preços das Funções, o que lhe dá o custo destas duas horas, assumindo que já utilizou quaisquer subvenções gratuitas do tempo de execução.

Métricas de nível de função

As unidades de execução de funções são uma combinação do tempo de execução e do uso da sua memória, o que torna difícil a compreensão do uso da memória. Os dados de memória não estão atualmente disponíveis através do Azure Monitor. No entanto, se pretender otimizar o uso da memória da sua app, pode utilizar os dados do contador de desempenho recolhidos pela Aplicação Informações.

Se ainda não o fez, ative a aplicação Informações na sua aplicação de função. Com esta integração ativada, pode consultar estes dados de telemetria no portal.

Pode utilizar o explorador de métricas Azure Monitor no portal do Azure ou ASPIS REST para obter dados de Métricas monitor.

Determinar o uso da memória

Em Monitorização, selecione Logs (Analytics), em seguida, copie a seguinte consulta de telemetria e cole-a na janela de consulta e selecione Executar. Esta consulta devolve o uso total da memória em cada tempo amostrado.

performanceCounters
| where name == "Private Bytes"
| project timestamp, name, value

Os resultados parecem ser o seguinte exemplo:

timetamp [UTC] name valor
9/12/2019, 1:05:14.947 AM Bytes Privados 209,932,288
9/12/2019, 1:06:14.994 Bytes Privados 212,189,184
9/12/2019, 1:06:30.010 AM Bytes Privados 231,714,816
9/12/2019, 1:07:15.040 AM Bytes Privados 210,591,744
9/12/2019, 1:12:16.285 AM Bytes Privados 216,285,184
9/12/2019, 1:12:31.376 AM Bytes Privados 235,806,720

Determinar a duração

O Azure Monitor rastreia métricas ao nível dos recursos, que para funções é a aplicação de função. A integração Informações aplicação emite métricas por função. Aqui está um exemplo de consulta de análise para obter a duração média de uma função:

customMetrics
| where name contains "Duration"
| extend averageDuration = valueSum / valueCount
| summarize averageDurationMilliseconds=avg(averageDuration) by name
name médiaDurationMilissegundos
QueueTrigger AvgDurationMs 16.087
FilaTrigger MaxDurationMs 90.249
FilaTrigger MinDurationMs 8.522

Passos seguintes