Марія БровінськаИстории
30 июня 2023, 12:47
2023-06-30
«FinOps-специалисты в Украине либо очень заняты, либо их нет». Как сэкономить 1,5 млн евро благодаря оптимизации расходов
Во время сверхбыстрой миграции в облако в прошлом году Райффайзен Банк был шокирован ежемесячным ростом стоимости облачных ресурсов, что дало толчок к зарождению FinOps-практик и распространению FinOps-культуры. Среди различных вариантов внедрения была выбрана модель развития FinOps культуры и повышения осведомленности ИТ-персонала и руководителей.
Распространение культуры ответственного обращения с деньгами среди сотен работающих в банке айтишников дало свой эффект и недавно украинский Райф получил корпоративную награду от Raiffeisen Bank International как банк, сэкономивший наибольшее количество средств за последние 12 месяцев среди всех банков группы Raiffeisen. Сумма экономии составила 1,5 млн евро и это стало возможным благодаря кропотливому ежедневному труду всего FinOps Community украинского банка.
Как работает сообщество финопсов, зачем оно нужно и какой эффект дает, рассказал dev.ua глава нового направления и идеолог рационального использования средств Богдан Кобзаренко. Он работает в Райфе уже почти 20 лет, последние из которых настойчиво заботился о дата-центрах финучреждения и данных у них. «Я постоянно что-то оптимизирую — ресурсы, средства. Это почти стиль жизни», — признается Богдан.
Что такое FinOps
Богдан описывает работу FinOps как классификацию, визуализацию и оптимизацию IT-части затрат, а также глубокое понимание того, сколько стоит каждый из IT-ресурсов. И как результат понимание влияния каждого из компонентов на стоимость конечного продукта или продуктов компании.
По словам Богдана, для него лично FinOps не стал чем-то новым, поскольку отвечая за дата-центры и то, что у них внутри, он всегда занимался оптимизацией использования ресурсов и затрат на инфраструктуру дата-центров. «Вообще FinOps хоть и возникает в момент миграции в облака, но не ограничивается ими. Это культура потребления ИТ-ресурсов в широком смысле этого слова. FinOps-практики нужно вводить не только для облачных решений», — объясняет он.
Да, оптимизация расходов на лицензии, аппаратные ресурсы, классификация наземных ресурсов в дата-центре, по убеждению Богдана, тоже часть FinOps.
«Но в облаке намного сложнее это делать», — говорит специалист. Райфу очень помогло то, что некоторые элементы FinOps внедряли и изучали постепенно. Также активно консультировались у специалистов Amazon Web Services (AWS), в облако которого переносили данные банка.
«Они нас консультировали не только по базовым рекомендациям, но и по деталям оптимизации, которых нет в открытых источниках или описаны частично. Было очень приятно чувствовать постоянную поддержку от представителей AWS по оптимизации использования ресурсов», ― отмечает Богдан.
Рождение FinOps Community
Понимание необходимости внедрения FinOps практик пришло примерно на 4 месяц после начала миграции в AWS. СТО банка Григорий Таций предложил создать внутреннее Raif FinOps Community, объединившее людей, которые хотят понимать как анализировать и как влиять на кости в облаке AWS.
Сейчас в коммьюнити уже около полусотни специалистов, и их количество постоянно растет.
Такой нетривиальный для Украины шаг дал свой результат — SRE и DevOps Райфу уже учитывают лучшие мировые практики. «Если они создают ресурс, то хаотически не выбирают тип ресурса, или способ его использования. Они выбирают оптимальный профиль применения, пользуясь определенными аргументами», — говорит Кобзаренко.
FinOps в действии
По словам Богдана Кобзаренко, благодаря практикам FinOps банк уже сэкономил около 1,5 млн евро и это только в AWS.
«Прежде всего, это тегирование ресурсов. Была разработана политика тегирования, которая стала обязательной для всех. Настроили контроли, статистику и визуализировали динамику тегирования. И как результат имеем четкое понимание, для чего используется каждый ресурс и кто его владелец. Как дополнительный бонус, имеем возможность понимать стоимость облачной инфраструктуры в разрезе банковских продуктов, что существенно упрощает расчет совокупной стоимости владения (TCO) и понимание себестоимости банковских сервисов», ― рассказывает специалист.
Вторым шагом, стартовавшим параллельно с первым, было повышение осведомленности в FinOps инструментах и подходах. Была описана модель FinOps зрелости, с тремя уровнями и описанием критериев оценки. Были сделаны базовые асесменты облачной инфраструктуры и на этой базе проведены коучинг-встречи с командами, которые дали первый толчок оптимизации ресурсов в облаке.
«На начальном этапе внедрения FinOps мы использовали один из онлайн-сервисов, предоставлявший рекомендации по оптимизации. Участники коммьюнити туда заходили довольно часто и смотрели, что и как они могут оптимизировать. И первые результаты появились благодаря их рекомендациям. И все же глубокая оптимизация, давшая ощутимые финансовые результаты, была достигнута благодаря самописным решениям, которые создавали самостоятельно, постепенно развивая и наращивая сферы анализа», — рассказывает Богдан.
Он говорит, что в компании из-за масштабов бизнеса и использования различных облачных продуктов требовалось смотреть глубже, и в результате финопс-специалисты создали собственные инструменты, которыми пользуются и сейчас.
Кобзаренко отмечает: кейса, где одним шагом Райфу удалось сэкономить миллионы благодаря FinOps, пока нет. Однако ряд маленьких системных оптимизации привели к весомому результату. В частности, по словам Богдана, в банке была проведена ревизия EBS (Elastic Block Store) и оптимизированы их типы, характеристики и размеры. Райф также провел ревизию двойного использования лицензий, ревизию снапшотов и ревизию AMI, оптимизировали сетевые сервисы и объемы сетевого трафика, меняли размеры и типы EC2 и RDS, активно используют Reserved Instances и Saving Plans и многое другое.
Банк активно использует MAP программу AWS, которая упрощает и дешевеет процесс миграции из наземных дата-центров в облако. Полное название этой программы — AWS Migration Acceleration Program и позволяет получить существенный кэшбек из стоимости ресурсов, мигрированных из наземных дата-центров.
«Была интересная история, когда участник коммьюнити нашел не обязательные расходы на межзонный трафик в размере нескольких сот долларов и поделился своей находкой на FinOps Community. В результате анализа по всем нашим аккаунтам были найдены возможности для экономии на межзонном трафике на тысячи долларов. Хотя раньше этот Usage Type не обращали внимания», ― вспоминает эксперт Райфу.
Для тех, кто имеет обширную облачную инфраструктуру, будет полезным развернуть CUDOS Dashboard. Он позволяет очень детально и в различных разрезах анализировать AWS затраты.
Примеры ситуаций, когда экспертиза FinOps может помочь принять оптимальное для бизнеса решение:
Один диск типа io2 с 30000 Iops стоит дороже, чем два диска GP3 по 15000 Iops, а значит FinOps должен предложить такую архитектуру, которая поддерживает шардирование.
Ведя разработку на Java, FinOps изначально выбирает архитектуру ARM, которая дешевле ее аналогов Intel или AMD и при этом имеет большую эффективность.
Отправка сообщений в SNS. FinOps знает, что уведомление можно отправлять пакетами по 10 штук, что повышает эффективность инструмента в 10 раз.
FinOps интегрируется в IAC pipeline и показывает, сколько будут стоить изменения в инфраструктуре еще до их применения в той или иной среде.
FinOps помогает следить за тем, чтобы неиспользованные ресурсы мгновенно удалялись, такие как неиспользуемые тома EBS.
Прогнозирование затрат
Очень удобная вещь — это прогнозирование стоимости на этапе создания ресурса. При попытке создать ресурс в облаке AWS в Райфе настроен автоматический расчет ее прогнозируемой стоимости и уже на этапе создания инженер может принять решение о приемлемости или неприемлемости стоимости ресурса. Также этот функционал помогает избежать ошибки уже на этапе развертывания.
Прогнозирование затрат, основываясь на планах роста или оптимизации и учитывая исторические данные, это одна из базовых обязанностей FinOps специалистов.
Есть ли FinOps-специалисты на рынке Украины
Кобзаренко рассказывает, что готовых специалистов-финопсов на украинском рынке труда почти нет.
Какими качествами и навыками должен обладать FinOps-специалист и может ли хороший разработчик стать FinOps-специалистом?
FinOps должен обладать хорошими аналитическими способностями, хорошо понимать финансовую составляющую ИТ ресурсов и в первую очередь облачными, уметь обрабатывать, структурировать и визуализировать данные, полученные из разных источников. Иметь базовые навыки программирования и формирования SQL запросов, что упростит процесс обработки данных, также важно. И конечно такой специалист должен иметь хорошие коммуникативные навыки, чтобы уметь доносить свое мнение до других и уметь объяснить полученные результаты и при необходимости подсказать пути имплементации.
Да, на самом деле каждый может стать FinOps, как в принципе и освоить любую другую специальность. В большинстве случаев девопсу, облачному архитектору или разработчику следует понимать базовую логику при принятии облачных инфраструктурных решений для того, чтобы экономить уже на этапе проектирования или внедрения. Понимание, как сделать дешевле без потери функциональности продукта позволяет экономить достаточно существенные средства.
Пять советов от Богдана Кобзаренко для бизнеса, который планирует ввести FinOps
Не откладывайте оптимизацию на потом. Потому что бизнес теряет средства каждый день, и здесь промедления могут стать роковыми.
Начать не с оптимизации ресурсов, а с обучения и развития культуры FinOps в компании. Это даст гораздо лучшие плоды, чем нанять одного человека, который все оптимизирует. Этот человек отработает, оптимизирует, потом уйдет, и все постепенно вернется в то же состояние, в котором было до этого. Поэтому развитие культуры, чтобы подсознательно инженер уже принимал решения, правильные с точки зрения финансов, является первоочередным.
Произвести четкую классификацию всех ресурсов и определить владельца для каждого объекта. Важно, чтобы у каждого объекта, который стоит больше $1 в месяц, был владелец, человек, отвечающий за этот ресурс. Потому что когда ответственность размыта по нескольким функциям или специалистам, это не ответственность. И классификация и определение владельца — это очень важно для облачных ресурсов. Также крайне важно визуализировать затраты всех владельцев ресурсов, чтобы все участники, использующие клоуд, четко видели, сколько тратит сосед и сколько тратит он.
FinOps-безопасность. На каждом аккаунте должны быть четкие лимиты по использованию средств и должны быть настроены триггеры на срабатывание по кост-аномалиям. Если, например, кто-то ошибся в скрипте при создании ресурсов, то это может создавать ресурсы на огромную сумму денег. От этой ошибки не защищен никто. А если стоят лимиты, просто можно это остановить. Второй кейс — это, например, взлом аккаунта — когда это происходит, то установленные лимиты помогают хотя бы понять, что тебя сломали и начали создавать ресурсы.
Ориентироваться на «низко свисающие плоды». Не стоит закапываться во что-то интересное по оптимизации ресурсов. Лучше брать то направление, которое даст наибольший результат в наименьшее время.
Чи є в Україні курси з FinOps? (Особливо цікавить MultiCloud FinOps)