Портал №1 по управлению цифровыми
и информационными технологиями

FinOps с помощью Governance-as-Code

Опубликовано 25 октября 2021
Рубрики: DevOps, Облака, Финансы ИТ
Комментарии

Масштабы и сложность решений, основанных на облачных технологиях, продолжают расти. Слишком часто это расширение также означает, что затраты продолжают выходить из-под контроля. В этой статье мы рассмотрим, почему развивающаяся практика облачного финансового управления (FinOps) так важна для сдерживания затрат. Затем мы обсудим проблемы, с которыми сталкиваются команды, когда они начинают применять подходы FinOps. Наконец, мы расскажем о возможностях, появляющихся при применении концепции “руководство-как-код” (governance-as-code) для обеспечения непрерывной оптимизации затрат в облаке, и о том, как этот подход позволяет командам применять теорию FinOps на практике, чтобы они могли контролировать затраты на облачные технологии.

Появление FinOps

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

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

Эта потребность в улучшении управления затратами привела к появлению новой дисциплины: управление облачными финансами, или FinOps. Если коротко, FinOps — это способ привести управление финансами и отчетность в соответствие с парадигмой переменных затрат, характерной для “облаков”. FinOps объединяет технологии, процессы и команды, включая профессионалов в области технологий, финансов и бизнеса. Получив улучшенную способность понимать, отслеживать и управлять затратами на облако, команды могут начать максимизировать ценность, получаемую за счет своих расходов. Учитывая стратегический и срочный характер управления облачными затратами, неудивительно, что команды FinOps растут. Согласно исследованию, проведенному Фондом FinOps, команды FinOps увеличились на 47% по сравнению с прошлым годом, и эти профессионалы ожидают, что их команды вырастут на 75% в следующем году.

Проблемы при создании FinOps

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

  • Побуждение инженеров к действию (39%)
  • Работа с общими (разделяемыми) затратами (33 %)
  • Точность прогнозирования (26%)
  • Сокращение непроизводительных затратах (waste) или неиспользуемых ресурсов (25 %)
  • Полнота распределения затрат (23 %)

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

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

Хотя облако предлагает ряд преимуществ по сравнению с устаревшей “железной” инфраструктурой, без надлежащего управления затраты на облако могут быстро выйти из-под контроля. Фактически, аналитики Gartner сообщают, что в ближайшие несколько лет 60 % организаций столкнутся с перерасходом средств на использование общедоступных облаков.

Переосмысление управления затратами

По всем причинам, изложенным выше, командам предлагается использовать новый подход к управлению облачными затратами, который соответствует принципам FinOps. Для многих это означает принятие концепции “руководство-как-код” (governance-as-code) для оптимизации затрат на облако. Это способ автоматического и динамического применения политик, в том числе для оптимизации затрат, в быстро меняющихся облачных средах.

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

Политика затрат определяется с помощью интуитивно понятного языка

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

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

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

Политики затрат управляются и развертываются с помощью конвейера CI/CD

После того, как политики будут пересмотрены и доработаны, команды должны иметь возможность применять эти политики в рамках существующих рабочих процессов непрерывной интеграции/непрерывной доставки (CI/CD).

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

Таким образом, средства контроля затрат могут быть развернуты с помощью Git в рамках конвейера CI/CD. Такой подход позволяет командам избегать сложных ручных процессов, связанных с такими задачами, как управление запросами на обслуживание, запросами на изменения и так далее. Это также помогает командам идти в ногу с ускоряющимися темпами современных динамичных облачных сред и сред разработки. Кроме того, этот подход означает, что “руководящий код” (governance code) можно отслеживать с помощью различных изменений состояния, откатывать при необходимости — точно так же, как код приложения.

Нарушения политики затрат выявляются и устраняются в режиме реального времени

Благодаря непрерывной оптимизации облачных затрат с помощью подхода “руководство-как-код” команды получают возможность не только осуществлять непрерывное обнаружение, но и принимать немедленные меры. Политики могут применяться с регулярными запланированными интервалами или запускаться в зависимости от определенных событий. Этот подход позволяет применять рабочие процессы и действия, которые могут потребоваться. Если происходят нарушения политики, уведомления соответствующим командам или членам команды могут отправляться автоматически, и могут запускаться расширенные рабочие процессы.

Политика затрат постоянно внедряется и совершенствуется

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

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

Оригинал статьи доступен по ссылке.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

DevOps
Kanban
ITSM
ITIL
PRINCE2
Agile
Lean
TOGAF
ITAM