Compartilhar via


Como aplicar FinOps ao Azure Data Factory

Este artigo descreve como aplicar FinOps no Azure Data Factory.

O que é FinOps?

O FinOps Foundation Technical Advisory Council define FinOps desta forma:

FinOps é uma disciplina de gerenciamento financeiro em nuvem e uma prática cultural em evolução que permite que as organizações obtenham o máximo valor dos negócios, ajudando as equipes de engenharia, finanças, tecnologia e negócios a colaborar em decisões de gastos controladas por dados.

Em essência, FinOps é uma prática cultural. É a maneira em que as equipes gerenciarem os custos de nuvem, em que todos se responsabilizam pelo uso que fazem da nuvem com o suporte de um grupo central de práticas recomendadas. Equipes multifuncionais em Engenharia, Finanças, Produto etc. trabalham juntas para permitir uma entrega mais rápida de produtos e ainda ganham mais controle financeiro e previsibilidade.

Diagram showing a high-level overview of how FinOps works in an organization.

Como aplicar FinOps ao Azure Data Factory

O Azure Data Factory é o serviço de Integração de Dados e ETL (extração, transformação e carregamento) da Microsoft na nuvem. Para obter controles efetivos de orçamento e custo no data factory, primeiro veremos como entender o modelo de preços. Depois, é importante analisar seus gastos nos níveis do factory e do pipeline. Você pode fazer isso com os relatórios de consumo internos do data factory e no nível da assinatura do Azure usando os recursos de gerenciamento de custos e análise de custos do Azure. Por fim, falamos sobre como definir limites de gastos na assinatura do Azure para contar com controles de custo.

Entender os preços do Azure Data Factory por meio de exemplos

O gráfico abaixo explica o fluxo geral de cálculo de preços do data factory. Ele mostra como usar a Calculadora de Preços do Azure para calcular preços. Em geral, as partes principais para entender a cobrança do data factory envolvem estes custos: orquestração, execução, tipo de IR (runtime de integração),movimentação de dados (cópia) e fluxos de dados.

  1. Verifique se a fonte do data factory ou o runtime de integração do coletor usa uma VNet (rede virtual) gerenciada. Nesse caso, a orquestração e a execução são calculadas usando o IR da VNET gerenciada do Azure. Caso contrário, prossiga para a próxima etapa.
  2. Confirme se a origem ou o coletor usa o runtime de integração auto-hospedada. Nesse caso, a orquestração e a execução são calculadas pelo IR auto-hospedado e o custo total é igual à soma dos custos de orquestração e execução. Caso contrário, a orquestração e a execução são calculadas pelo Azure IR.
  3. Para o Azure IR e IR o da VNet gerenciada do Azure, confirme se você usa o fluxo de dados. Se usa, o custo total é igual à soma dos custos do cluster de fluxo de dados, da orquestração e da execução. Caso contrário, o custo total é simplesmente a soma dos custos de orquestração e de execução.

Flow chart showing the process to calculate costs for Azure Data Factory.

Cenários de exemplo

Vamos examinar vários exemplos de cenários comuns do data factory e os custos estimados associados a cada carga de trabalho. Conforme trabalhamos em cada exemplo, lembre-se destes padrões de custos do data factory:

  • Ao examinar a fatura, tenha em mente que o data factory arredonda cada duração de atividade até o próximo minuto (ou seja, 1 minuto e 1 segundo = cobrança de 2 minutos).
  • Os exemplos a seguir são baseados em cenários comuns e mostram custos estimados.
  • Outros custos podem ser gerados pelos armazenamentos de dados e serviços externos no Azure que você utiliza.
  • Os custos reais podem ser um pouco diferentes destes exemplos considerando os termos do contrato de vendas que você tem com a Microsoft.
  • Este link fornece mais exemplos: Noções básicas sobre preços do Azure Data Factory por meio de exemplos.

Exemplo: copiar dados e transformá-los com o Azure Databricks por hora

Neste cenário, você deseja copiar dados do AWS S3 para o Armazenamento de Blobs do Azure e transformar os dados com o Azure Databricks em um agendamento por hora de 8 horas por dia durante 30 dias.

Os preços usados neste exemplo são hipotéticos e não pretender sugerir o preço real exato. Os custos de leitura/gravação e monitoramento não são mostrados, pois normalmente são insignificantes e não afetarão os custos gerais de forma substancial. As execuções de atividade também são arredondadas para os 1000 mais próximos nas estimativas da calculadora de preços.

Configuração

Para executar o cenário, você precisará criar um pipeline com os seguintes itens:

  1. Uma atividade de cópia com um conjunto de dados de entrada para os dados a serem copiados do AWS S3 e um conjunto de dados de saída para os dados no Armazenamento do Azure.
  2. Uma atividade do Azure Databricks para a transformação de dados.
  3. Um gatilho de agendamento para executar o pipeline por hora. Quando você quiser executar um pipeline, poderá acioná-lo imediatamente ou agendá-lo. Além do próprio pipeline, cada instância de gatilho conta como uma única execução de atividade.

Estimativa de custo

Confira a Calculadora de Preços do Azure e o fluxo executando as seguintes etapas:

  1. Se a origem e o coletor não usarem a VNet gerenciada do Azure, vá para a Etapa 2.
  2. Se a origem e o coletor não usarem o IR auto-hospedado, a orquestração e a execução serão calculadas usando o Azure IR.
  3. Usamos apenas a atividade Copy e uma atividade externa aqui. A atividade de fluxo de dados não é usada, portanto, o custo total é igual à soma dos custos de orquestração e de execução.

Preço estimado para um mês (8 horas por dia por 30 dias):

Tipos Cálculo
Orquestração (contagens de execução de atividade em milhares) 3 execuções de atividade por execução (1 para execução de gatilho, 2 para execuções de atividade).
Contagens de execução de atividade/mês = 3 * 8 * 30 = 720.
Contagens de execução de atividade em mil/mês = 1
Execução 1. Horas de DIU (unidade de integração de dados):
   • Horas de DIU por execução = 10 min
   • Configuração de DIU padrão = 4
   • Horas/mês de DIU = (10 min / 60 min) * 4 * 8 * 30 = 160

2. Horas de execução da atividade de pipeline externo:
   • Por tempo de execução: 10 min
   • Horas de execução de atividade de pipeline externo = (10 min / 60 min) * 8 * 30 = 40

Exemplo de calculadora de preços

Preço total do cenário por 30 dias: US$ 41,01

Screenshot of the Azure pricing calculator showing the cost estimation for this scenario.

Exemplo: uso de depuração de fluxo de dados de mapeamento de um dia de trabalho normal

Este exemplo mostra os custos de depuração de fluxo de dados de mapeamento para um dia de trabalho típico para um engenheiro de dados. Os preços usados neste exemplo abaixo são hipotéticos e não pretendem sugerir o preço real exato. Os custos de leitura/gravação e monitoramento não são mostrados, pois normalmente são insignificantes e não afetarão os custos gerais de forma substancial. As execuções de atividade também são arredondadas para os 1000 mais próximos nas estimativas da calculadora de preços.

Engenheiro do Azure Data Factory

Um engenheiros do data factory é responsável por projetar, criar e testar fluxos de dados de mapeamento todos os dias. O engenheiro entra no Azure Data Factory Studio de manhã e habilita o modo de depuração de fluxos de dados. A TTL (vida útil) padrão de sessões de depuração é de 60 minutos. O engenheiro trabalha ao longo do dia por 8 horas, portanto, a sessão de depuração nunca expira. Portanto, os encargos do dia do engenheiro são:

8 horas * 8 núcleos otimizados para computação * USD 0,193 por hora por núcleo = USD 12,35

Orçamento

Ao planejar uma implementação do Azure Data Factory, é importante entender e prever os custos para criar um orçamento dos projetos de ETL e integração de dados.

Screenshot of the pipeline monitoring screen highlighting the consumption report button.

Selecione no botão de relatório de consumo na exibição de monitoramento de pipeline para obter um instantâneo das unidades cobradas para cada execução.

Na página de monitoramento, você pode usar manualmente o relatório de consumo de qualquer execução de pipeline de uma execução de depuração ou disparada manualmente ou até mesmo de uma execução de gatilho automatizada.

Screenshot of the pipeline run consumption window showing the total units billed for a run.

O relatório de consumo de pipeline do data factory fornece as unidades estimadas cobradas. Você pode executar esses testes usando uma execução de depuração do pipeline em conjuntos de dados menores e, depois, extrapolar o orçamento de produção dessas estimativas.

O relatório de consumo fornece valores em unidades. Para derivar uma estimativa monetária, multiplique o valor das unidades neste relatório pelo preço na região com base na Calculadora de Preços do Azure. Isso produz uma estimativa dessa execução de pipeline. Uma prática recomendada é executar o pipeline várias vezes com conjuntos de dados diferentes para obter um intervalo de custos de linha de base e usar uma média dessas execuções para o orçamento.

Otimização de custos do Azure

Esta seção discute a otimização de custos com o Gerenciamento de Custos da Microsoft e o Assistente do Azure e para instâncias reservadas no data factory.

Gerenciamento de Custos da Microsoft

O Microsoft Azure fornece ferramentas que ajudam você a acompanhar, otimizar e controlar os gastos do Azure. Se os gastos do data factory forem uma prioridade máxima, a recomendação será criar um grupo de recursos separado no Azure para cada data factory. Dessa forma, é fácil criar orçamentos, acompanhar os gastos e aplicar controles de custo usando o Gerenciamento de Custos da Microsoft.

Screenshot showing the Microsoft cost management page in Azure.

Hoje as organizações estão trabalhando mais do que nunca para controlar os gastos e fazer mais com menos. Você pode usar o recurso de orçamentos do Azure para definir limites de gastos de uso do Azure Data Factory v2 e do grupo de recursos geral do Azure que está sendo usado para o data factory.

Screenshot of the Azure budgets page showing how to set budgets for a service.

Na janela de criação de orçamento, use filtros para escolher o serviço Azure Data Factory ou um grupo de recursos.

Assistente do Azure

Outra ferramenta valiosa para otimizar o orçamento do Azure é o Assistente do Azure. Com o Assistente do Azure, você pode receber recomendações para reduzir os gastos gerais do Azure. Isso inclui a utilização dos preços de instância reservada do Azure Data Factory para reduzir os custos de fluxos de dados de mapeamento. Os encargos do Azure Data Factory podem ser pagos com o crédito de pagamento antecipado do Azure.

Screenshot showing the Azure Advisor window that can provide recommendations including cost reduction optimizations.

Instâncias reservadas no Azure Data Factory

As instâncias reservadas estão disponíveis no Azure Data Factory para fluxos de dados de mapeamento, que você pode usar para economizar em relação ao preço de lista normal dos fluxos de dados. Com as instâncias reservadas, você compra previamente reservas de um ou três anos em níveis de desconto com base no tamanho da reserva. Para ver uma exibição personalizada da economia de custos usando instâncias reservadas, acesse o portal do Azure e escolha Reservas. Depois, selecione data factory. Nesse ponto, você escolherá o tipo de fluxos de dados que normalmente usa e o portal do Azure estimará as economias futuras com base na utilização anterior do data factory.

Screenshot showing the Azure reservations page with data factory highlighted.

A reserva de capacidade de fluxo de dados de mapeamento usando instâncias reservadas pode dar um desconto imediato nos gastos gerais do data factory relacionados diretamente ao uso do fluxo de dados.

Acompanhamento dos gastos do data factory

À medida que você cria a infraestrutura de integração de dados no Azure, é importante acompanhar os gastos ao longo do tempo. Há várias maneiras de acompanhar o orçamento do data factory. Por padrão, o data factory fornece um custo resumido total do factory com base nos diferentes medidores de cobrança que o serviço utiliza.

Como usar a exibição granular de cobrança de pipeline

Você pode solicitar que o data factory forneça custos cumulativos no nível do pipeline definindo o factory para usar a cobrança por pipeline como uma opção nas configurações do factory.

Screenshot showing the Azure Data Factory Studio manage tab's settings page with the billing by pipeline setting selected.

Essa exibição fornece um detalhamento dos gastos do data factory de cada pipeline. Isso pode ser útil para atribuir custos no nível do item de linha em vez de custos cumulativos do factory (que é o padrão).

Screenshot showing the billing report for pipeline granular billing with a breakdown of costs per pipeline.

A exibição da cobrança do data factory no nível do pipeline é útil para atribuir os custos gerais do data factory a cada recurso de pipeline. Também é útil fornecer um mecanismo fácil de usar para implementar o estorno para os usuários do factory, tanto para consumo interno da organização quanto para uso externo de clientes ou parceiros.

Como usar marcas para atribuição de custo de pipeline

Outro mecanismo para acompanhar os custos de atribuição do recurso de data factory é usar a marcação no factory. Você pode atribuir a mesma marca ao data factory e a outros recursos do Azure, colocando-os na mesma categoria para exibir uma cobrança consolidada. Todos os Azure-SSIS (SQL Server Integration Services) IRs no factory herdam essa marca. Tenha em mente que, se você alterar a marca do data factory, precisará parar e reiniciar todos os SSIS IRs dentro do factory para que eles herdem a nova marca. Para obter mais detalhes, confira a seção Reconfigurar o SSIS IR.