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.
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.
- 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.
- 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.
- 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.
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:
- 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.
- Una actividad de Azure Databricks para la transformación de datos.
- 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:
- Si ni el origen ni el receptor usan una VNET administrada de Azure, vaya al paso 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.
- 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
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.
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.
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.
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.
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.
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.
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.
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).
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.