Aplicación de FinOps en Azure Data Factory

En este artículo se describe cómo aplicar FinOps en Azure Data Factory.

¿Qué es FinOps?

Así es como define FinOps el consejo asesor técnico de FinOps Foundation:

FinOps es una disciplina de administración financiera en la nube y una práctica cultural en constante evolución que permite a las organizaciones obtener el máximo valor empresarial mediante la ayuda a los equipos de ingeniería, finanzas, tecnología y empresarial para que colaboren en decisiones de gasto controladas por datos.

En esencia, FinOps es una práctica cultural. Es la manera en que los equipos administran sus costos en la nube, donde todos toman posesión de su uso de la nube y reciben el apoyo de un grupo central de procedimientos recomendados. Los equipos interfuncionales de los departamentos de ingeniería, finanzas, producto, etc. trabajan conjuntamente para realizar una entrega de productos más rápida y al mismo tiempo obtienen más control financiero y previsibilidad.

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

Aplicación de FinOps en Azure Data Factory

Azure Data Factory es el servicio de integración de datos y ETL (extracción, transformación y carga de datos) de Microsoft en la nube. Para lograr un presupuesto y controles de costos eficaces en una factoría de datos, primero es preciso conocer el modelo de precios. A continuación, es importante analizar el gasto en los niveles de fábrica y canalización. Para ello, se pueden usar los informes de consumo integrados de la factoría de datos y en el nivel de suscripción de Azure mediante las características de análisis de costos y administración de costos de Azure. Por último, hablamos sobre cómo establecer límites de gasto en la suscripción de Azure para ayudar a proporcionar controles de costos.

Información sobre los precios de Azure Data Factory

En el gráfico siguiente se explica el flujo general del cálculo de precios de la factoría de datos. Muestra cómo usar la Calculadora de precios de Azure para calcular los precios. En general, las partes principales para conocer la facturación de la factoría de datos implican estos costos: orquestación, ejecución, tipo de entorno de ejecución de integración (IR), movimiento de datos (copia) y flujos de datos.

  1. Compruebe si el origen de la factoría de datos o el entorno de ejecución de integración del receptor usan una red virtual administrada (VNET). Si es así, la orquestación y la ejecución se calculan mediante el entorno de ejecución de integración de la VNET administrada de Azure. Si no, siga con el paso siguiente.
  2. Confirme si el origen o el receptor usan el entorno de ejecución de integración autohospedado. Si es así, tanto la orquestación como la ejecución se calculan mediante el entorno de ejecución de integración autohospedado y el costo total es igual a la suma de los costos de la orquestación y la ejecución. Si no es así, Azure Integration Runtime calcula la orquestación y la ejecución.
  3. En Azure Integration Runtime y el entorno de ejecución de integración de VNET administrada de Azure, confirme si usa un flujo de datos. Si es así, el costo total es igual a la suma de los costos del clúster del flujo de datos, la orquestación y la ejecución. De lo contrario, el costo total es simplemente la suma de los costos de orquestación y ejecución.

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

Escenarios de ejemplo

Examinemos varios ejemplos de escenarios comunes de factoría de datos y costos estimados asociados a cada carga de trabajo. A medida que trabajamos en cada ejemplo, tenga en cuenta estos estándares para los costos de factoría de datos:

  • Al revisar la factura, tenga en cuenta que la factoría de datos redondea al siguiente minuto la duración de cada actividad (es decir, 1 minuto y 1 segundo = 2 minutos de facturación).
  • Los siguientes ejemplos se basan en escenarios comunes y muestran los costos estimados.
  • Se pueden incurrir en otros costos de los almacenes de datos y servicios externos de Azure que use.
  • Los costos reales pueden variar ligeramente de los de estos ejemplos en función de los términos del contrato de venta que tenga con Microsoft.
  • En este vínculo se proporcionan más ejemplos: Descripción de los precios de Data Factory a través de ejemplos.

Ejemplo: copia de datos y transformación con Azure Databricks cada hora

En este escenario, quiere copiar datos de AWS S3 a Azure Blob Storage y transformarlos con Azure Databricks en una programación por hora durante 8 horas al día durante 30 días.

Los precios usados en este ejemplo siguiente son hipotéticos y no pretenden reflejar precios reales exactos. Los costes de lectura y escritura y de supervisión no se muestran, ya que, normalmente, son insignificantes y apenas afectan a los costes generales. Además, las ejecuciones de actividad se redondean al millar más cercano en las estimaciones de la calculadora de precios.

Configuración

Para lograr el escenario, es preciso crear una canalización con los siguientes elementos:

  1. Una actividad de copia con un conjunto de datos de entrada para los datos que desea copiar desde AWS S3 y un conjunto de datos de salida para los datos del almacenamiento de Azure.
  2. Una actividad de Azure Databricks para la transformación de datos.
  3. Un desencadenador de programación para ejecutar la canalización cada hora. Cuando quiera ejecutar una canalización, puede desencadenarla inmediatamente o programarla. Además de la canalización en sí, cada instancia de desencadenador cuenta como una sola ejecución de actividad.

Estimación de costos

Siga los pasos que se indican a continuación para consultar la Calculadora de precios de Azure y el flujo:

  1. Si ni el origen ni el receptor usan una VNET administrada de Azure, vaya al paso 2.
  2. Si ni el origen ni el receptor usan un entorno de ejecución de integración autohospedado, la orquestación y la ejecución se calculan mediante Azure Integration Runtime.
  3. Aquí solo se usa la actividad de copia y una actividad externa. No se usa la actividad de flujo de datos, por lo que el costo total es la suma de los costos de orquestación y ejecución.

Estimación de precios en un mes (8 horas al día durante 30 días):

Tipos Cálculo
Orquestación (los recuentos de las ejecuciones de actividad se expresan en miles) Tres ejecuciones de actividad (una para la ejecución del desencadenador y dos para ejecuciones de actividad).
Recuentos de ejecuciones de actividad/mes = 3 * 8 * 30 = 720.
Recuentos de ejecuciones de actividad en miles/mes = 1
Ejecución 1. Horas de unidades de integración de datos (DIU):
   Horas de DIU por ejecución = 10 min
   • Configuración predeterminada de DIU = 4
   • Horas DIU/mes = (10 minutos/60 minutos) * 4 * 8 * 30 = 160

2. Horas de ejecución de la actividad de canalización externa:
   • Por tiempo de ejecución: 10 minutos
   • Ejecución de la actividad de canalización externa = (10 min/60 min) * 8 * 30 = 40

Ejemplo de calculadora de precios

Precio total del escenario durante 30 días: 41,01 USD

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

Ejemplo: uso de la depuración de flujo de datos de asignación para una jornada normal

En este ejemplo se muestran los costes de depuración del flujo de datos de asignación durante una jornada normal de un ingeniero de datos. Los precios que se usan en el siguiente ejemplo son hipotéticos, no pretenden reflejar precios reales. Los costes de lectura y escritura y de supervisión no se muestran, ya que, normalmente, son insignificantes y apenas afectan a los costes generales. Además, las ejecuciones de actividad se redondean al millar más cercano en las estimaciones de la calculadora de precios.

Ingeniero de Azure Data Factory

Un ingeniero de factoría de datos es responsable de diseñar, compilar y probar flujos de datos de asignación cada día. El ingeniero inicia sesión en Azure Data Factory Studio por la mañana y habilita el modo de depuración de los flujos de datos. El período de vida (TTL) predeterminado de las sesiones de depuración es de 60 minutos. El ingeniero trabaja ocho horas al día, por lo que la sesión de depuración nunca expira. Por consiguiente, los cargos del ingeniero en un día son:

8 horas * 8 núcleos optimizados para proceso * 0,193 USD por hora y núcleo = 12,35 USD

Administración presupuestaria

Al planear una implementación de Azure Data Factory, es importante conocer y prever los costos, ya que ello ayuda a crear un presupuesto para los proyectos de integración de datos y ETL.

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

Seleccione el botón de informe de consumo en la vista de supervisión de canalización para obtener una instantánea de las unidades facturadas en cada ejecución.

En la página de supervisión, el informe de consumo se puede usar manualmente para cualquier ejecución de canalización desde una ejecución de depuración o desencadenada manualmente, o incluso desde una ejecución de desencadenador automatizada.

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

El informe de consumo de canalización de factoría de datos indica las unidades estimadas facturadas. Estas pruebas se pueden ejecutar mediante una ejecución de depuración de la canalización en conjuntos de datos más pequeños y, después, extrapolar el presupuesto de producción de estas estimaciones.

El informe de consumo proporciona valores en unidades. Para derivar una estimación monetaria de esto, es preciso multiplicar el valor de las unidades del informe por el precio de la región que indica la calculadora de precios de Azure. Esto genera una estimación para esa ejecución de canalización. Un procedimiento recomendado es ejecutar la canalización varias veces con diferentes conjuntos de datos para obtener un intervalo de costos de línea base y usar un promedio de esas ejecuciones para el presupuesto.

Optimización de costos de Azure

En esta sección se explica la optimización de costos con Microsoft Cost Management, Azure Advisor y para las instancias reservadas de la factoría de datos.

Microsoft Cost Management

Microsoft Azure proporciona herramientas que ayudan no solo a realizar un seguimiento de los gastos de Azure, sino también a optimizarlos y controlarlos. Si el gasto de en factorías de datos tiene máxima prioridad, la recomendación es crear un grupo de recursos independiente en Azure para cada factoría de datos. Esto facilita la creación de presupuestos, la realización de un seguimiento de los gastos y la aplicación de controles de costos mediante Microsoft Cost Management.

Screenshot showing the Microsoft cost management page in Azure.

En la actualidad, las organizaciones trabajan más que nunca para controlar el gasto y hacer más con menos. Puede usar la característica de presupuestos de Azure para establecer límites de gasto en el uso de Azure Data Factory v2 y el grupo de recursos general de Azure que usa para la factoría de datos.

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

En la ventana Crear presupuesto, use filtros para elegir el servicio Azure Data Factory o un grupo de recursos.

Azure Advisor

Otra herramienta muy útil para optimizar el presupuesto de Azure es Azure Advisor. Con Azure Advisor, puede recibir recomendaciones para reducir el gasto general de Azure. Esto incluye el uso de los precios de instancias reservadas de Azure Data Factory para reducir los costos de los flujos de datos de asignación. Los cargos de Azure Data Factory se pueden pagar con el crédito del pago por adelantado de Azure.

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

Instancias reservadas en Azure Data Factory

Las instancias reservadas están disponibles en Azure Data Factory para los flujos de datos de asignación, algo que se puede usar para obtener un ahorro sobre el precio de los flujos de datos. Con las instancias reservadas, se compra con antelación reservas de 1 o 3 años con unos niveles de descuento que dependen de la duración de la reserva. Para obtener una vista personalizada del ahorro de costos mediante instancias reservadas, vaya a Azure Portal, elija Reservas y seleccione la factoría de datos. Luego, elija el tipo de flujos de datos que suele usar y Azure Portal calculará el ahorro futuro en función del uso anterior de la factoría de datos.

Screenshot showing the Azure reservations page with data factory highlighted.

La reserva de la capacidad del flujo de datos de asignación mediante instancias reservadas le permite proporcionar un descuento inmediato en el gasto general de la factoría de datos relacionado directamente con el uso del flujo de datos.

Seguimiento de los gastos de la factoría de datos

Cuando cree una infraestructura de integración de datos en Azure, es importante realizar un seguimiento de los gastos con el paso del tiempo. Hay varias formas de realizar un seguimiento del presupuesto de la factoría de datos. De forma predeterminada, la factoría de datos proporciona un costo global resumido para la fábrica en función de los distintos medidores de facturación que utiliza el servicio.

Uso de la vista granular de facturación de canalización

Puede pedir a la factoría de datos que proporcione la acumulación del nivel de canalización de los costos estableciendo la fábrica que va a usar la facturación de la canalización como opción en la configuración de la fábrica.

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

Esta vista proporciona un desglose del gasto de la factoría de datos por cada canalización. Esto puede resultar útil a la hora de atribuir costos a un nivel de elemento de línea, en lugar de un resumen de fábrica (que es el valor predeterminado).

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

La vista de nivel de canalización de la factura de Data Factory es útil para atribuir los costos generales de la factoría de datos a cada recurso de canalización. También resulta útil proporcionar un mecanismo fácil de usar para implementar cargos a los usuarios de la fábrica, tanto para el consumo interno de la organización como para el uso externo por parte de clientes o asociados.

Uso de etiquetas para la atribución de costos de canalización

Otro mecanismo para realizar el seguimiento de los costos de asignación del recurso de factoría de datos es usar el etiquetado en la factoría. Puede asignar la misma etiqueta a la factoría de datos y a otros recursos de Azure, y colocarlos en la misma categoría para ver su facturación consolidada. Todos los entornos de ejecución de integración de SSIS (SQL Server Integration Services) de la fábrica heredan esta etiqueta. Tenga en cuenta que si cambia la etiqueta de la factoría de datos, debe detener y reiniciar todos los entornos de ejecución de integración de SSIS de la fábrica para que hereden la nueva etiqueta. Para más información, consulte la sección sobre reconfiguración de entornos de ejecución de integración de SSIS.