Partilhar via


Aplicando FinOps ao Azure Data Factory

Este artigo descreve como aplicar o FinOps no Azure Data Factory.

O que é FinOps?

O Conselho Consultivo Técnico da Fundação FinOps define o FinOps em conformidade:

O FinOps é uma disciplina de gestão financeira na nuvem em evolução e uma prática cultural que permite que as organizações obtenham o máximo valor comercial, ajudando as equipes de engenharia, finanças, tecnologia e negócios a colaborar em decisões de gastos baseadas em dados.

Na sua essência, o FinOps é uma prática cultural. É a maneira de as equipes gerenciarem seus custos de nuvem, onde todos se apropriam do uso da nuvem com 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 do produto, ao mesmo tempo em que ganham mais controle financeiro e previsibilidade.

Diagrama mostrando uma visão geral de alto nível de como o FinOps funciona em uma organização.

Como aplicar o FinOps ao Azure Data Factory

O Azure Data Factory é o serviço de Integração de Dados e ETL (extrair, transformar, carregar) da Microsoft na nuvem. Para obter orçamentos e controles de custos eficazes no data factory, primeiro revisamos como entender o modelo de preços. Em seguida, é importante analisar os seus gastos nos níveis de fábrica e linha de produção. Você pode fazer isso com os relatórios de consumo internos do data factory e no nível de 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 em sua assinatura do Azure para ajudar a fornecer controles de custo.

Noções básicas sobre os preços do Azure Data Factory

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

  1. Verifique se a origem ou destino do seu fábrica de dados usa runtime de integração com rede virtual gerenciada (VNET). Em caso afirmativo, a orquestração e a execução são calculadas usando o IR VNET gerenciado pelo Azure. Caso não o seja, avance para o passo seguinte.
  2. Confirme se a origem ou o destino usa o runtime de integração autogerido. Em caso afirmativo, a orquestração e a execução são calculadas pelo IR auto-hospedado, e o custo total é igual à soma dos custos tanto de orquestração quanto de execução. Caso contrário, a orquestração e a execução são calculadas pelo RI do Azure.
  3. Para o IR do Azure e o IR VNET gerido do Azure, verifique se utiliza o fluxo de dados. Em caso afirmativo, o custo total é igual à soma dos custos do cluster de fluxo de dados, orquestração e execução. Caso contrário, o custo total é simplesmente a soma dos custos de orquestração e execução.

Fluxograma mostrando o processo para calcular custos para o Azure Data Factory.

Cenários de exemplo

Vejamos vários exemplos de cenários comuns de data factory e custos estimados associados a cada carga de trabalho. Ao trabalharmos em cada exemplo, tenha em mente estes padrões para os custos de fábrica de dados:

  • Ao revisar a sua fatura, lembre-se de que a fábrica de dados arredonda para o minuto para cada duração da atividade (ou seja, 1 min 1 seg = faturamento de 2 minutos).
  • Os exemplos a seguir são baseados em cenários comuns e mostram custos estimados.
  • Outros custos podem ser incorridos a partir dos armazenamentos de dados e serviços externos no Azure que você utiliza.
  • Os seus custos reais podem diferir ligeiramente destes exemplos com base nos termos do contrato de venda que tem com a Microsoft.
  • Este link fornece mais exemplos: Noções básicas sobre os preços do Azure Data Factory por meio de exemplos.

Exemplo: Copiar dados e transformar com o Azure Databricks de hora em hora

Neste cenário, pretende copiar dados do AWS S3 para o armazenamento de blobs do Azure e transformar os dados com o Azure Databricks de hora a hora, durante 8 horas por dia, ao longo de 30 dias.

Os preços usados neste exemplo são hipotéticos e não pretendem implicar preços exatos reais. Os custos de leitura/gravação e monitoramento não são mostrados, pois normalmente são insignificantes e não afetam significativamente os custos gerais. 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 realizar o cenário, você precisa 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 programado para executar automaticamente o pipeline a cada hora. Quando quiser executar um pipeline, você pode acioná-lo imediatamente ou agendá-lo. Além do pipeline em si, cada instância de gatilho conta como a execução de uma única atividade.

Estimativa de custos

Consulte a Calculadora de Preços do Azure e faça o fluxo usando 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 IR auto-hospedado, a orquestração e a execução serão calculadas usando o IR do Azure.
  3. Aqui, usamos apenas a atividade de cópia e uma atividade externa. Ele não usa a atividade de fluxo de dados, portanto, o custo total é igual à soma dos custos de orquestração e execução.

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

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

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

Exemplo de calculadora de preços

Preço total do cenário por 30 dias: $41.01

Captura de ecrã da calculadora de preços do Azure que mostra a estimativa de custos para este cenário.

Exemplo: Usando a depuração de mapeamento de fluxo de dados para um dia de trabalho normal

Este exemplo mostra como mapear os custos de depuração do fluxo de dados num dia de trabalho típico de um engenheiro de dados. Os preços usados no exemplo a seguir são hipotéticos e não pretendem implicar preços reais exatos. Os custos de leitura/gravação e monitoramento não são mostrados, pois normalmente são insignificantes e não afetam significativamente os custos gerais. 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 engenheiro de fábrica de dados é responsável por projetar, construir e testar fluxos de dados de mapeamento todos os dias. O engenheiro inicia sessão no Azure Data Factory Studio de manhã e ativa o modo de depuração para fluxos de dados. O tempo de vida padrão (TTL) para sessões de depuração é de 60 minutos. O engenheiro trabalha durante 8 horas por dia, assim a sessão de depuração nunca expira. Portanto, os encargos do engenheiro para o dia são:

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

Orçamentação

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

Captura de tela da tela de monitoramento de pipeline destacando o botão de relatório de consumo.

Clique no botão do relatório de consumo na vista de monitorização do pipeline para obter uma visão geral das unidades cobradas por cada execução.

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

Captura de ecrã da janela de consumo de execução do pipeline mostrando o total de unidades cobradas por uma execução.

O relatório de consumo da fábrica de dados fornece as unidades estimadas faturadas. Você pode executar esses testes usando uma execução em modo de depuração do seu pipeline em conjuntos de dados menores e, em seguida, extrapolar o seu orçamento de produção com base nessas estimativas.

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

Otimização de custos do Azure

Esta seção discute a otimização de custos com a gestão de custos da Microsoft, o Azure Advisor, e para instâncias reservadas na Data Factory.

Gestão de custos da Microsoft

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

Captura de ecrã a mostrar a página de gestão de custos da Microsoft no 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 no uso do Azure Data Factory v2 e no grupo geral de recursos do Azure que você está usando para o data factory.

Captura de ecrã da página de orçamentos do Azure que mostra como definir orçamentos para um serviço.

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

Azure Advisor

Outra ferramenta valiosa para otimizar seu orçamento do Azure é o Azure Advisor. Com o Azure Advisor, você pode receber recomendações para reduzir seus gastos gerais do Azure. Isso inclui a utilização do preço da instância reservada do Azure Data Factory para reduzir os custos de mapeamento de fluxos de dados. Também pode pagar as taxas do Azure Data Factory com o seu crédito de pré-pagamento do Azure.

Captura de ecrã a mostrar a janela do Azure Advisor que pode fornecer recomendações, incluindo otimizações de redução de custos.

Instâncias reservadas no Azure Data Factory

As instâncias reservadas estão disponíveis no Azure Data Factory para mapear fluxos de dados, que você pode usar para fornecer economia em relação ao preço de tabela normal dos fluxos de dados. Com instâncias reservadas, você pré-compra reservas de 1 ou 3 anos com níveis de desconto com base na duração da reserva. Para ver uma exibição personalizada de suas economias de custos usando instâncias reservadas, navegue até o portal do Azure e escolha Reservas e, em seguida, selecione data factory. A partir daí, você escolherá o tipo de fluxos de dados que normalmente usa e o portal do Azure estimará suas economias futuras com base na utilização anterior do data factory.

Captura de ecrã mostrando a página de reservas do Azure com o Data Factory realçado.

Reservar a capacidade de fluxo de dados de mapeamento usando instâncias reservadas pode fornecer um desconto imediato nas despesas gerais da fábrica de dados, diretamente relacionadas ao uso do fluxo de dados.

Rastreio dos seus gastos na fábrica de dados

À medida que cria a sua infraestrutura de integração de dados no Azure, é importante controlar os seus gastos ao longo do tempo. Há várias maneiras de acompanhar o orçamento da fábrica de dados. Por padrão, o data factory fornece um custo resumido completo para sua fábrica com base nos diferentes medidores de faturamento que o serviço utiliza.

Como utilizar a visão detalhada do faturamento do pipeline

Você pode pedir ao data factory para fornecer um roll-up de seus custos no nível do pipeline definindo a fábrica a ser usada pelo faturamento do pipeline como uma opção nas configurações de fábrica.

Captura de ecrã que mostra a página de definições do separador Gerir do Azure Data Factory Studio, com a definição de faturação por pipeline selecionada.

Esta visualização fornece um detalhamento dos gastos da fábrica de dados por cada pipeline. Isso pode ser útil para atribuir custos ao nível de item de linha em vez de uma agregação de fábrica (que é o predefinido).

Captura de tela mostrando o relatório de faturamento granular do pipeline com um detalhamento dos custos por pipeline.

A visualização ao nível do pipeline da fatura da sua fábrica de dados é útil para atribuir os custos gerais da fábrica de dados a cada recurso do pipeline. Também é útil fornecer um mecanismo fácil de usar para implementar o chargeback para os usuários de sua fábrica, tanto para consumo interno da organização quanto para uso de clientes ou parceiros externos.

Como usar tags para a atribuição de custos do pipeline

Outro mecanismo para rastrear os custos de atribuição para seu recurso de fábrica de dados é usar a marcação em sua fábrica. Você pode atribuir a mesma tag ao seu data factory e a outros recursos do Azure, colocando-os na mesma categoria para exibir sua cobrança consolidada. Todos os IRs SSIS (SQL Server Integration Services) dentro da fábrica herdam essa tag. Lembre-se de que, se alterar a sua tag do Data Factory, é necessário parar e reiniciar todas as IRs SSIS dentro da fábrica para que herdem a nova tag. Para obter mais detalhes, consulte a seção reconfigurar o SSIS IR.