Planejar o gerenciamento de custos para o Azure Batch

Este artigo descreve como planear e gerir custos para o Azure Batch. Antes de implantar o serviço, você pode usar a calculadora de preços do Azure para estimar os custos do Lote do Azure. Mais tarde, à medida que você implanta recursos do Azure, revise os custos estimados.

Depois de começar a executar cargas de trabalho em lote, use os recursos de gerenciamento de custos para definir orçamentos e monitorar custos. Você também pode revisar os custos previstos e identificar tendências de gastos para identificar áreas em que você pode querer agir. Os custos do Lote do Azure são apenas uma parte dos custos mensais na sua fatura do Azure. Embora este artigo explique como planejar e gerenciar custos para o Lote do Azure, você será cobrado por todos os serviços e recursos do Azure usados em sua assinatura do Azure, incluindo os serviços de terceiros.

Pré-requisitos

A análise de custos no Gerenciamento de Custos dá suporte à maioria dos tipos de conta do Azure, mas não a todos. Para ver a lista completa dos tipos de contas suportados, veja Compreender os dados do Cost Management. Para exibir dados de custo, você precisa de pelo menos acesso de leitura para uma conta do Azure. Para obter informações sobre como atribuir acesso a dados do Microsoft Cost Management, consulte Atribuir acesso a dados.

Estimar custos antes de usar o Lote do Azure

Use a calculadora de preços do Azure para estimar custos antes de adicionar máquinas virtuais.

  1. Na guia Produtos, vá para a seção Computação ou procure Lote na barra de pesquisa. no bloco Lote, selecione Adicionar para estimar e role para baixo até a seção Sua estimativa.

  2. Observe que o Azure Batch é um serviço gratuito e que os custos associados ao Azure Batch são para os recursos subjacentes que executam suas cargas de trabalho. Ao adicionar o Azure Batch à sua estimativa, a calculadora de preços cria automaticamente uma seleção para Serviços de Nuvem e Máquinas Virtuais. Você pode ler mais sobre os Serviços de Nuvem do Azure e as Máquinas Virtuais (VMs) do Azure na documentação de cada produto. O que você precisa saber para estimar o custo do Lote do Azure é que as máquinas virtuais são o recurso mais significativo.

    Selecione as opções nas listas suspensas. Existem várias opções disponíveis para escolher. As opções que têm o maior impacto no total estimado são o sistema operacional da máquina virtual, a licença do sistema operacional, se aplicável, o tamanho da VM selecionado em INSTÂNCIA, o número de instâncias escolhidas e a quantidade de tempo em que as instâncias serão executadas.

    Observe que a estimativa total muda à medida que você seleciona diferentes opções. A estimativa aparece no canto superior e na parte inferior da seção Sua estimativa .

    Screenshot showing the your estimate section and main options available for Azure Batch.

    Você pode saber mais sobre o custo de execução de máquinas virtuais na documentação Planejar para gerenciar custos de máquinas virtuais.

Compreender o modelo de faturação completo do Azure Batch

O Lote do Azure é executado na infraestrutura do Azure que acumula custos quando você implanta novos recursos. É importante entender que pode haver outros custos adicionais de infraestrutura que podem se acumular.

Como você é cobrado pelo Azure Batch

O Azure Batch é um serviço gratuito. Não há custos para o Batch em si. No entanto, pode haver cobranças pelos recursos de computação subjacentes e licenças de software usadas para executar cargas de trabalho em lote. Os custos podem ser incorridos a partir de máquinas virtuais em um pool, transferência de dados da VM ou quaisquer dados de entrada ou saída armazenados na nuvem.

Custos que podem acumular-se com o Azure Batch

Embora o Batch em si seja um serviço gratuito, muitos dos recursos subjacentes que executam suas cargas de trabalho não são. Estes são, entre outros:

  • Máquinas Virtuais
  • Armazenamento
    • Quando os aplicativos são implantados em máquinas virtuais de nó em lote usando pacotes de aplicativos, você é cobrado pelos recursos de Armazenamento do Azure que seus pacotes de aplicativos consomem. Você também é cobrado pelo armazenamento de quaisquer arquivos de entrada ou saída, como arquivos de recursos e outros dados de log.
    • Em geral, o custo dos dados de armazenamento associados ao Batch é muito menor do que o custo dos recursos de computação.
  • Em alguns casos, um balanceador de carga
  • Recursos de rede
    • Para pools de Configuração de Máquina Virtual, são usados balanceadores de carga padrão, que exigem endereços IP estáticos. Os balanceadores de carga usados pelo Batch são visíveis para contas configuradas no modo de assinatura do usuário, mas não para aquelas no modo de serviço em lote.
    • Os balanceadores de carga padrão incorrem em encargos para todos os dados passados de e para VMs de pool de lotes. Selecione APIs em lote que recuperam dados de nós de pool (como Obter arquivo de tarefa/nó), pacotes de aplicativos de tarefas, arquivos de recurso/saída e imagens de contêiner também incorrem em cobranças.
    • Rede Virtual
  • Dependendo dos serviços que você usa, sua solução Batch pode incorrer em taxas adicionais. Os serviços comumente usados com o Batch que podem ter custos associados incluem:
    • Application Insights
    • Data Factory
    • Azure Monitor

Os custos podem acumular-se após a eliminação de recursos

Depois de excluir recursos do Lote do Azure, os seguintes recursos podem continuar a existir. Estes recursos continuam a acumular custos até serem eliminados.

  • Máquina virtual
  • Todos os discos implantados que não sejam o sistema operacional e os discos locais
  • Rede virtual
    • Sua NIC virtual e IP público, se aplicável, podem ser configurados para exclusão junto com sua máquina virtual
  • Largura de banda
  • Balanceador de carga

Para redes virtuais, uma rede virtual é cobrada por assinatura e por região. As redes virtuais não podem abranger regiões ou subscrições. A configuração de pontos de extremidade privados em configurações vNet também pode incorrer em encargos.

A largura de banda é cobrada pelo uso; Quanto mais dados forem transferidos, mais você será cobrado.

Usando o Pré-pagamento do Azure com o Azure Batch

Embora o Azure Batch seja um serviço gratuito, você pode pagar por cobranças de recursos subjacentes com seu crédito de Pré-pagamento do Azure. No entanto, não pode utilizar o crédito do Pré-pagamento do Azure para pagar os custos de produtos e serviços de terceiros, incluindo os do Azure Marketplace.

Visualize a análise de custos e crie orçamentos

Ao usar os recursos do Azure com o Azure Batch, você incorre em custos. Os custos unitários de uso de recursos do Azure variam por intervalos de tempo (segundos, minutos, horas e dias) ou por uso de unidade (bytes, megabytes e assim por diante). Assim que o uso de recursos do Azure é iniciado, os custos são incorridos e você pode ver os custos na análise de custos. O Microsoft Cost Management permite-lhe planear, analisar e reduzir os seus gastos para maximizar o seu investimento na nuvem. Você pode visualizar e filtrar os custos de lote a serem visualizados e filtrados, prever custos futuros e definir limites de gastos com alertas quando esses limites forem atingidos.

No portal do Azure, você pode criar orçamentos e alertas de gastos para seus pools de lotes ou contas de lotes. Os orçamentos e alertas são úteis para notificar as partes interessadas de quaisquer riscos de gastos excessivos, embora seja possível que haja um atraso nos alertas de gastos e exceda ligeiramente um orçamento.

A captura de tela a seguir mostra um exemplo da visualização Análise de custo para uma assinatura, filtrada para exibir apenas os custos acumulados associados a todas as contas de lote. Os gráficos inferiores mostram como o custo total para o período selecionado pode ser categorizado por serviço consumido, localização e medidor. Embora este seja um exemplo e não se destine a refletir os custos que você pode ver para suas assinaturas, é típico em que o maior custo é para as máquinas virtuais que são alocadas para nós de pool de lotes.

Screenshot showing cost analysis in the Azure portal for all Batch accounts in a subscription.

Um nível adicional de detalhe da análise de custos pode ser obtido especificando um filtro de recursos . Para contas de lote, esses valores são o nome da conta de lote mais o nome do pool. Isso permite que você visualize os custos de um pool específico, vários pools ou uma ou mais contas.

Exibir análise de custo para um pool de lotes

Modo de alocação do pool de serviços em lote

Para contas em lote criadas com o modo de alocação do pool de serviços em lote:

  1. No portal do Azure, digite ou selecione Gerenciamento de custos + Cobrança .
  2. Selecione sua assinatura na seção Escopos de faturamento.
  3. Em Cost Management, selecione Análise de custos.
  4. Selecionar Adicionar Filtro. Na primeira lista suspensa, selecione Recurso.
  5. Na segunda lista suspensa, selecione o Pool de lotes. Quando o pool é selecionado, você vê a análise de custo para o seu pool. A captura de tela abaixo mostra dados de exemplo. Screenshot showing cost analysis of a Batch pool in the Azure portal.

A análise de custos resultante mostra o custo do pool, bem como os recursos que contribuem para esse custo. Neste exemplo, as VMs usadas no pool são o recurso mais caro.

Nota

O pool neste exemplo usa a Configuração de Máquina Virtual, que é recomendada para a maioria dos pools e é cobrada com base na estrutura de preços das Máquinas Virtuais. Os pools que usam a Configuração de Serviços de Nuvem são cobrados com base na estrutura de preços dos Serviços de Nuvem.

As tags podem ser associadas a contas de lote, permitindo que as tags sejam usadas para filtragem de custos adicionais. Por exemplo, as tags podem ser usadas para associar informações de projeto, usuário ou grupo a uma conta de lote. Atualmente, as tags não podem ser associadas a pools de lotes.

Modo de alocação do pool de assinaturas do usuário

Para contas em lote criadas com o modo de alocação do pool de assinaturas do usuário:

  1. No portal do Azure, digite ou selecione Gerenciamento de custos + Cobrança .
  2. Selecione sua assinatura na seção Escopos de faturamento.
  3. Em Cost Management, selecione Análise de custos.
  4. Selecionar Adicionar Filtro. Na primeira lista suspensa, selecione Tag.
  5. Na segunda lista suspensa, selecione poolname.
  6. Na terceira lista suspensa, selecione o Pool de lotes. Quando o pool é selecionado, você vê a análise de custo para o seu pool. A captura de tela abaixo mostra dados de exemplo. Screenshot showing cost analysis of a user subscription Batch pool in the Azure portal.

Observe que, se você estiver interessado em visualizar dados de custo para todos os pools em uma conta de lote de assinatura de usuário, poderá selecionar batchaccountname na segunda lista suspensa e o nome da sua conta Batch na terceira lista suspensa.

Nota

Pools criados por assinatura de usuário As contas em lote não aparecem no filtro Recurso, embora seu uso ainda apareça ao filtrar "máquinas virtuais" sob o nome do serviço.

Criar um orçamento para um pool de lotes

Orçamentos podem ser criados e alertas de custos emitidos quando várias porcentagens de um orçamento são atingidas, como 60%, 80% e 100%. Os orçamentos podem especificar um ou mais filtros, para que você possa monitorar e alertar sobre os custos da conta em lote em várias granularidades.

  1. Na página Análise de custos , selecione Orçamento: nenhum.
  2. Selecione Criar novo orçamento >.
  3. Use a janela resultante para configurar um orçamento especificamente para seu pool. Para obter mais informações, consulte Tutorial: Criar e gerenciar orçamentos do Azure.

Minimize os custos associados ao Azure Batch

Dependendo do seu cenário, você pode querer reduzir os custos tanto quanto possível. Considere o uso de uma ou mais dessas estratégias para maximizar a eficiência de suas cargas de trabalho e reduzir custos potenciais.

Reduzir o uso do nó do pool

Os maiores custos associados ao uso do Batch normalmente são das máquinas virtuais alocadas para nós de pool. Para pools de configuração de máquina virtual, os discos gerenciados associados usados para os discos do sistema operacional da VM também podem contribuir significativamente para os custos.

Avalie seu aplicativo em lote para determinar se os nós do pool estão sendo bem utilizados pelas tarefas de trabalho ou se os nós do pool estão ociosos por mais do que o tempo esperado. Pode ser possível reduzir o número de nós de pool alocados, reduzir a taxa de aumento de escala do nó do pool ou aumentar a taxa de redução de escala para aumentar a utilização.

Além do monitoramento personalizado, as métricas de lote podem ajudar a identificar nós que estão alocados, mas em um estado ocioso. Você pode selecionar uma métrica para a maioria dos estados dos nós do pool a serem exibidos usando métricas de monitoramento em lote no portal do Azure. A 'Contagem de nós ociosos' e a 'Contagem de nós em execução' podem ser visualizadas para dar uma indicação de quão bem os nós do pool são utilizados, por exemplo.

Garantir que os nós do pool possam executar tarefas

Os nós alocados listados para um pool normalmente incorrem em custos, mas é possível que os nós do pool estejam em um estado em que não podem executar tarefas, como 'inutilizável' ou 'starttaskfailed'. APIs ou métricas em lote podem ser usadas para monitorar e detetar essa categoria de VM. A razão para esses estados pode então ser determinada e ações corretivas tomadas para reduzir ou eliminar esses nós insalubres.

Usar o tamanho correto da VM do nó do pool

Verifique se o tamanho apropriado da VM está sendo usado, para que as VMs sejam bem utilizadas ao executar tarefas e, ao mesmo tempo, fornecer o desempenho necessário para concluir suas tarefas de trabalho no tempo necessário. As VMs de nó de pool podem ser subutilizadas em algumas situações, como baixo uso da CPU. Os custos podem ser economizados escolhendo um tamanho de VM com um preço mais baixo.

Para determinar a utilização da VM, você pode fazer login em um nó ao executar tarefas para exibir dados de desempenho ou usar recursos de monitoramento, como o Application Insights, para obter dados de desempenho de nós do pool.

Usar slots de pool para reduzir os requisitos de nó

Vários slots de tarefas podem ser especificados para um pool, para que o número correspondente de tarefas possa ser executado em paralelo em cada nó. Os slots de tarefas do pool podem ser usados para reduzir o número de nós usados em um pool escolhendo tamanhos de VM maiores e executando várias tarefas em paralelo no nó para garantir que o nó seja bem utilizado. Se os nós estiverem subutilizados, os slots podem ser usados para aumentar a utilização. Por exemplo, para um aplicativo de tarefa de thread único, um slot por núcleo pode ser configurado. Também é possível ter mais slots do que núcleos. Isso seria aplicável se o aplicativo bloqueasse significativamente a espera de chamadas para serviços externos para serem retornadas, por exemplo.

A configuração taskSchedulingPolicy para pack ajudar a garantir que as VMs sejam utilizadas tanto quanto possível, com o dimensionamento mais facilmente capaz de remover nós que não executam nenhuma tarefa.

Usar máquinas virtuais do Azure Spot

As VMs spot do Azure reduzem o custo das cargas de trabalho em lote aproveitando a capacidade de computação excedente no Azure. Quando você especifica VMs spot em seus pools, o Batch usa esse excedente para executar sua carga de trabalho. Pode haver economias de custos substanciais quando você usa VMs spot em vez de VMs dedicadas. Lembre-se de que as VMs spot não são adequadas para todas as cargas de trabalho, pois pode não haver capacidade disponível para alocar ou podem ser antecipadas.

Usar discos efêmeros do sistema operacional

Por padrão, os nós do pool usam discos gerenciados, que incorrem em custos. Os pools de Configuração de Máquina Virtual em alguns tamanhos de VM podem usar discos efêmeros do sistema operacional, que criam o disco do sistema operacional no cache da VM ou SSD temporário, para evitar custos adicionais associados aos discos gerenciados.

Reservas de compra para instâncias de máquina virtual

Se você pretende usar o Batch por um longo período de tempo, pode reduzir o custo das VMs usando as Reservas do Azure para suas cargas de trabalho. Uma tarifa de reserva é consideravelmente mais baixa do que uma tarifa pré-paga. As instâncias de máquinas virtuais usadas sem uma reserva são cobradas de acordo com a taxa pré-paga. Quando você compra uma reserva, o desconto de reserva é aplicado. Quando você se compromete com planos de um ou três anos para instâncias de VM, descontos significativos são aplicados ao uso de VM, incluindo VMs consumidas por meio de pools de lotes.

É importante notar que o desconto de reserva é "use-it-or-lose-it". Se não houver recursos correspondentes usados por uma hora, você perderá a quantidade de reserva para essa hora. As horas reservadas não utilizadas não podem ser transportadas para a frente e, portanto, são perdidas se não forem utilizadas. As cargas de trabalho em lote geralmente dimensionam o número de VMs alocadas de acordo com a carga e têm carga variável, incluindo períodos em que não há carga. Portanto, é preciso ter cuidado para determinar o valor da reserva, dado que as horas reservadas são perdidas se as VMs em lote forem reduzidas abaixo da quantidade de reserva.

Usar dimensionamento automático

O dimensionamento automático dimensiona dinamicamente o número de VMs em seu pool de lotes com base nas demandas do trabalho atual. Quando você dimensiona o pool com base no tempo de vida de um trabalho, o dimensionamento automático garante que as VMs sejam dimensionadas e usadas somente quando houver um trabalho a ser executado. Quando o trabalho é concluído ou quando não há trabalhos, as VMs são automaticamente reduzidas para economizar recursos de computação. O dimensionamento permite que você reduza o custo geral de sua solução em lote usando apenas os recursos necessários.

Próximos passos