Применение FinOps к Фабрика данных Azure

В этой статье описывается применение FinOps в Фабрика данных Azure.

Что такое FinOps?

Технический совет Фонда FinOps определяет FinOps соответствующим образом:

FinOps — это развивающаяся дисциплина управления облачными финансами и культурная практика, которая позволяет организациям получать максимальную бизнес-ценность, помогая инженерии, финансы, технологии и бизнес-команды сотрудничать с решениями на основе данных.

В своей основе FinOps является культурной практикой. Это способ управления облачными затратами команд, где каждый берет на себя ответственность за использование облака, поддерживаемую централизованной группой рекомендаций. Кроссфункциональную группу в области инженерии, финансов, продуктов и т. д. работают вместе, чтобы ускорить доставку продуктов, в то же время получить более финансовый контроль и прогнозируемость.

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

Применение FinOps к Фабрика данных Azure

Фабрика данных Azure — это служба microsoft Интеграция данных и ETL (извлечение, преобразование, загрузка) в облаке. Чтобы добиться эффективного управления бюджетом и затратами в фабрике данных, мы сначала рассмотрим, как понять модель ценообразования. Далее важно проанализировать расходы на уровне фабрики и конвейера. Это можно сделать с помощью встроенных отчетов о потреблении фабрики данных и на уровне подписки Azure с помощью функций управления затратами и анализа затрат. Наконец, мы поговорим о настройке ограничений расходов на подписку Azure, чтобы обеспечить контроль затрат.

Общие сведения о ценах Фабрика данных Azure

На приведенной ниже диаграмме объясняется общий поток вычисления цен на фабрику данных. В нем показано, как использовать калькулятор цен Azure для вычисления цен. В целом основные части для понимания выставления счетов фабрики данных включают следующие затраты: оркестрация, выполнение, тип среды выполнения интеграции (IR), перемещение данных (копирование) и потоки данных.

  1. Проверьте, использует ли среда выполнения интеграции источник или приемник данных управляемую виртуальную сеть (виртуальную сеть). В этом случае оркестрация и выполнение вычисляются с помощью управляемой виртуальной сети Azure IR. В противном случае перейдите к следующему шагу.
  2. Убедитесь, использует ли источник или приемник локальную среду выполнения интеграции. Если это так, оркестрация и выполнение вычисляются локальной средой IR, а общая стоимость равна сумме затрат как для оркестрации, так и для выполнения. Если нет, оркестрация и выполнение вычисляются Azure IR.
  3. Для Azure IR и управляемой виртуальной сети Azure убедитесь, используется ли поток данных. В этом случае общая стоимость равна сумме затрат на кластер потока данных, оркестрацию и выполнение. В противном случае общая стоимость — это просто сумма затрат на оркестрацию и выполнение.

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

Пример сценариев

Рассмотрим несколько примеров распространенных сценариев фабрики данных и предполагаемых затрат, связанных с каждой рабочей нагрузкой. По мере работы с каждым примером следует учитывать следующие стандарты для затрат на фабрику данных:

  • При просмотре счета следует помнить, что фабрика данных округляет до минуты для каждой продолжительности действия (т. е. 1 мин 1 с = 2 минуты выставления счетов).
  • Следующие примеры основаны на распространенных сценариях и показывают предполагаемые затраты.
  • Другие затраты могут быть вызваны хранилищами данных и внешними службами в Azure, которые вы используете.
  • Фактические затраты могут немного отличаться от этих примеров на основе условий контракта на продажу, которые у вас есть с корпорацией Майкрософт.
  • Эта ссылка содержит дополнительные примеры: общие сведения о ценах Фабрика данных Azure с помощью примеров.

Пример. Копирование данных и преобразование с помощью Azure Databricks почасово

В этом сценарии необходимо скопировать данные из AWS S3 в хранилище BLOB-объектов Azure и преобразовать данные с помощью Azure Databricks в почасовом расписании в течение 8 часов в день в течение 30 дней.

Цены, используемые в этом примере, являются гипотетическими и не предназначены для обозначения фактических точных цен. Затраты на чтение и запись и мониторинг не отображаются, так как они обычно не являются незначительными и не влияют на общие затраты. Запуски действий также округляются до ближайших 1000 в оценках калькулятора цен.

Настройка

Для выполнения сценария необходимо создать конвейер со следующими элементами.

  1. Одно действие копирования с входным набором данных для копирования данных из AWS S3 и набор выходных данных для данных хранилища Azure.
  2. Одно действие преобразования данных с помощью Azure Databricks.
  3. Один запланированный триггер для выполнения конвейера каждый час. Если вы хотите запустить конвейер, его можно активировать немедленно или запланировать. Помимо самого конвейера каждый экземпляр триггера считается одним выполнением действия.

Оценка затрат

Ознакомьтесь с калькулятором цен Azure и выполните следующие действия.

  1. Если источник и приемник не используют управляемую виртуальную сеть Azure, перейдите к шагу 2.
  2. Если источник и приемник не используют локальную среду IR, оркестрация и выполнение вычисляются с помощью Azure IR.
  3. Здесь мы используем только действие копирования и внешнее действие. Он не использует действие потока данных, поэтому общая стоимость равна сумме затрат на оркестрацию и выполнение.

Оценочная цена за месяц (8 часов в день в течение 30 дней):

Типы Расчет
Оркестрация (количество выполнения действий в тысячах) 3 действия выполняются на выполнение (1 для запуска триггера, 2 для выполнения действий).
Количество выполнения действий в месяц = 3 * 8 * 30 = 720.
Количество выполнения действий в тысяче или месяце = 1
Выполнение 1. Часы интеграции данных (DIU):
   • Часы DIU на выполнение = 10 минут
   • Параметр DIU по умолчанию = 4
   • Часы diU/месяц = (10 мин / 60 мин) * 4 * 8 * 30 = 160

2. Часы выполнения действия внешнего конвейера:
   • Время выполнения: 10 минут
   • Часы выполнения внешнего конвейера = (10 мин / 60 мин) * 8 * 30 = 40

Пример калькулятора цен

Общая цена на сценарий за 30 дней: $41,01

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

Пример. Использование отладки потока данных сопоставления для обычного рабочего дня

В этом примере показаны затраты на отладку потока данных для типичного рабочего дня для инженера данных. Цены, используемые в следующем примере, являются гипотетическими и не предназначены для того, чтобы подразумевать точные фактические цены. Затраты на чтение и запись и мониторинг не отображаются, так как они обычно не являются незначительными и не влияют на общие затраты. Запуски действий также округляются до ближайших 1000 в оценках калькулятора цен.

инженер Фабрика данных Azure

Инженер фабрики данных отвечает за проектирование, построение и тестирование потоков данных для сопоставления данных каждый день. Инженер входит в Фабрика данных Azure Studio утром и включает режим отладки для потоков данных. Время жизни (TTL) по умолчанию для сеансов отладки составляет 60 минут. Инженер работает в течение 8 часов, поэтому сеанс отладки никогда не истекает. Поэтому расходы инженера за день:

8 часов * 8 оптимизированных для вычислений ядер * $ 0,193 в час на ядро = $12,35

Бюджетирование

При планировании реализации Фабрика данных Azure важно понимать и прогнозировать затраты, чтобы помочь создать бюджет для проектов интеграции ETL и данных.

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

Нажмите кнопку отчета о потреблении в представлении мониторинга конвейера, чтобы получить моментальный снимок единиц, выставленных для каждого запуска.

На странице мониторинга можно вручную использовать отчет о потреблении для любого запуска конвейера из отладки или запуска вручную или даже из автоматического запуска триггера.

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

Отчет о потреблении конвейера фабрики данных предоставляет предполагаемые единицы выставления счетов. Эти тесты можно выполнить с помощью отладки конвейера на небольших наборах данных, а затем экстраполировать рабочий бюджет из этих оценок.

Отчет о потреблении содержит значения в единицах. Чтобы получить денежную оценку от этого, умножьте значение единиц в этом отчете на цену в вашем регионе на основе калькулятора цен Azure. Это приводит к оценке выполнения этого конвейера. Рекомендуется выполнить конвейер несколько раз с различными наборами данных, чтобы получить базовый диапазон затрат и использовать среднее значение этих запусков для бюджетирования.

Оптимизация затрат в Azure

В этом разделе рассматривается оптимизация затрат с помощью управления затратами Майкрософт, помощника по Azure и зарезервированных экземпляров в фабрике данных.

Управление затратами Майкрософт

Microsoft Azure предоставляет средства, помогающие отслеживать, оптимизировать и контролировать расходы Azure. Если расходы фабрики данных являются главным приоритетом, рекомендуется создать отдельную группу ресурсов в Azure для каждой фабрики данных. Таким образом, легко создавать бюджеты, отслеживать расходы и применять элементы управления затратами с помощью Microsoft Cost Management.

Screenshot showing the Microsoft cost management page in Azure.

Сегодня организации работают труднее, чем когда-либо, чтобы контролировать расходы и делать больше с меньшим количеством. Вы можете использовать функцию бюджетов Azure, чтобы задать ограничения расходов на использование Фабрика данных Azure версии 2 и общую группу ресурсов Azure, которую вы используете для фабрики данных.

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

В окне создания бюджета используйте фильтры для выбора службы Фабрика данных Azure или группы ресурсов.

Помощник по Azure

Другим ценным инструментом оптимизации бюджета Azure является Помощник по Azure. С помощью Помощника по Azure вы можете получить рекомендации по сокращению общих расходов Azure. Это включает использование зарезервированных экземпляров Фабрика данных Azure для снижения затрат на сопоставление потоков данных. Вы также можете заплатить за Фабрика данных Azure расходы с помощью вашего кредита до оплаты Azure.

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

Зарезервированные экземпляры в Фабрика данных Azure

Зарезервированные экземпляры доступны в Фабрика данных Azure для сопоставления потоков данных, которые можно использовать для экономии по сравнению с обычной ценой на потоки данных. При использовании зарезервированных экземпляров вы приобретаете 1-летние или 3-летние резервирования на уровне скидки на основе длины резервирования. Чтобы просмотреть настраиваемое представление экономии затрат с помощью зарезервированных экземпляров, перейдите к портал Azure и выберите "Резервирования", а затем выберите фабрику данных. Оттуда вы выберете тип потоков данных, которые обычно используются, и портал Azure будет оценивать будущие экономии на основе предыдущей загрузки фабрики данных.

Screenshot showing the Azure reservations page with data factory highlighted.

Резервирование емкости потока данных с помощью зарезервированных экземпляров может обеспечить немедленную скидку на общие расходы фабрики данных, связанные непосредственно с использованием потока данных.

Отслеживание расходов фабрики данных

При создании инфраструктуры интеграции данных в Azure важно отслеживать расходы с течением времени. Существует несколько способов отслеживания бюджета фабрики данных. По умолчанию фабрика данных предоставляет суммированные затраты для фабрики на основе различных счетчиков выставления счетов, используемых службой.

Как использовать детализированное представление выставления счетов конвейера

Вы можете попросить фабрику данных предоставить сводку затрат на уровне конвейера, задав фабрику для использования выставлением счетов конвейера в качестве варианта в параметрах фабрики.

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

Это представление позволяет получить разбивку затрат на фабрику данных по каждому конвейеру. Это может быть полезно для атрибута затрат на уровне строк, а не на заводских свертках (это по умолчанию).

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

Представление на уровне конвейера счета фабрики данных полезно для атрибута общих затрат на фабрику данных каждому ресурсу конвейера. Кроме того, полезно предоставить удобный механизм для реализации оплаты пользователям фабрики, как для внутреннего потребления организации, так и для внешнего клиента или партнера.

Использование тегов для присвоения затрат на конвейер

Другим механизмом отслеживания затрат на ресурсы фабрики данных является использование тегов в фабрике. Вы можете назначить тот же тег фабрике данных и другим ресурсам Azure, введя их в ту же категорию, чтобы просмотреть консолидированное выставление счетов. Все IRS служб SSIS (SQL Server Integration Services) в фабрике наследуют этот тег. Помните, что при изменении тега фабрики данных необходимо остановить и перезапустить все IRS служб SSIS в фабрике, чтобы наследовать новый тег. Дополнительные сведения см. в разделе перенастройки SSIS IR.