logo
      26/07/2023

FinOps як культура. Що це та як впровадити на проєкті

Олексій Вінніченко BLOG

DevOps-інженер в NIX

Сьогодні важко уявити IT-проєкт, який не використовує хмарні сервіси. Відповідно це тягне за собою певні витрати. А де є гроші, має бути їх контроль. Саме тому все частіше говорять про важливість впровадження на проєктах культури FinOps. Як цей підхід допомагає відстежувати бюджет та грамотно економити — розповідає Олексій Вінніченко, DevOps-інженер в IT-команді NIX.

 

Що таке FinOps

 

Finance Operations — це методологія та практика управління витратами і ресурсами у хмарних обчисленнях, сервісах та інфраструктурі. Часто кажуть, що FinOps — це про відстеження бюджету та економію. Та насправді поняття набагато ширше. Це ніби окрема дисципліна, культура, яка задає в компанії усталені підходи до використання хмарних сервісів. Суть у тому, щоб гармонійно поєднувати якість послуг, їхню вартість та продуктивність процесів. Це не стільки про суворий облік грошей, скільки про доцільне використання ресурсів та створення для бізнесу умов для заробітку. Не виключено, що з ефективністю витрат може зрости і рахунок за хмари. Однак бізнесу це дозволить збільшити цінність продукту.

 

Хтось запитає: навіщо все ускладнювати? Створіть Google-таблицю з основними і додатковими витратами — і все. Проте в реальності це не так просто. Хмарні сервіси навіть у межах AWS, Azure або Google Cloud можуть мати різну тарифікацію. Зокрема, за обсяги ресурсів чи за час використання, за години, хвилини або секунди, чи з іншими обмеженнями. Бюджети з детальними розрахунками кожної позиції з оновленнями в режимі реального часу можуть вийти дуже великими. А якщо на проєкті користуються послугами кількох провайдерів, то ви матимете дані, які вкрай важко привести до єдиного вигляду. Тому без спеціальних навичок обробки, аналізу та презентації даних неможливо контролювати всі витрати.

 

4 переваги впровадження FinOps

 

Курс QA engineer від Mate academy.
Після навчання на курсі QA engineer ви зможете розробляти плани тестування додатків та сайтів. Працевлаштування гарантовано.
Отримати знижку на курс
  • Економія. Позбавившись від непотрібних витрат, ви зменшите вартість хмарних послуг і як результат — бюджет створення кінцевого продукту без втрати якості.

 

  • Продуктивність. FinOps-спеціалісти знаходять кращі рішення у використанні хмар. Вони аналізують роботу продукту, його навантаження, доступні пропозиції на ринку хмарних сервісів. Їхня задача — підібрати те, що дозволить команді отримувати більше обчислювальних ресурсів у межах наявного бюджету.

 

  • Передбачуваність. Використання хмар може бути непропорційним у різні періоди роботи над продуктом. Це позначиться і на рахунках. Але з FinOps-практикою можна більш точно спланувати використання ресурсів. Так компанія знатиме, коли потрібно платити більше, а коли — менше.

 

  • Прозорість. Інколи команди платять за хмарні сервіси, до кінця не розуміючи, за що вони платять. FinOps деталізує рахунки і залучає до цього процесу всю команду. Коли люди бачать реальні витрати, то краще несуть відповідальність за них.

 

З чого почати?

Онлайн курс з промт інжинірингу та ефективної роботи з ШІ від Powercode academy.
Курс-інтенсив для отримання навичок роботи з ChatGPT та іншими інструментами ШІ для професійних та особистих задач, котрі допоможуть як новачку, так і професіоналу.
Записатися на курс

 

Для старту зосередьтесь на ключових задачах:

 

  • Інформування

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

 

  • Оптимізація

Коли всі бачать витрати та розуміють їх походження, вже легше виявити непотрібні втрати — як грошей, так і ресурсів. Це допомагає скоротити бюджет, виключивши зайві позиції. І на цьому ж етапі можна перенаправити фінанси на інші, важливіші потреби в розробці або підтримці продукту. Можна й оптимізувати інструменти аналітики.

 

Англійська для початківців від Englishdom.
Для тих, хто тільки починає вивчати англійську і хоче вміти використовувати базову лексику і граматику.
Реєстрація на курс
  • Контроль

Знайдені шляхи оптимізації витрат треба впровадити на практиці. Слідкуйте, як команда втілює нові принципи роботи з хмарами та які результати це дає. В ідеалі контроль має бути автоматизованим.

 

Описаний вище життєвий цикл FinOps не є «одноразовим». Ця методика передбачає постійне повторення всіх трьох етапів. При цьому кожна частина команди рухається у своєму темпі відповідно до задач і можливостей певної групи.

 

Рухаємось по моделі зрілості FinOps

 

Ви завжди маєте рухатися вперед — до кращої оптимізації використання ресурсів. Орієнтуйтесь на модель зрілості FinOps та 3 етапи її впровадження:

 

Онлайн-курс "People Management" від Laba.
Пройдіть шлях від формування відповідальної команди до написання кар'єрної карти для кожного співробітника разом з топменеджеркою з 11-річним досвідом у провідних IT-компаніях.
Детальніше про курс
  • Crawl — початкова стадія, коли команда вчиться аналізувати й оптимізувати бюджет. Всю увагу спрямовано на виправлення знайдених помилок. У цьому випадку фахівці розраховують витрати з погрішністю у 20%.

 

  • Walk — команда змогла автоматизувати більшу частину перевірки витрат. На цьому рівні якість прогнозування бюджету підвищується до погрішності у 15%.

 

  • Run — найвищий рівень впровадження FinOps-культури, коли цієї методики дотримується вся команда навіть у великих та складних проєктах. Погрішність розрахунків не перевищує 12%.

 

Best practices

 

FinOps доволі молодий напрям не лише в Україні, але й на західному IT-ринку. Усталених практик не так вже й багато. Як на мене, найкраще звертатися до FinOps Framework. Створений зусиллями спільноти FinOps Foundation, він описує все, що стосується запуску та підтримки FinOps-культури на проєкті. Починачи від функціональних зон діяльності, доменів, стейкхолдерів і закінчуючи конкретними задачами, процесами, етапами. Спільноту заснувала Linux Foundation у 2019 році. До неї вже приєдналися понад 10 тисяч експертів та більше 3500 компаній.

Онлайн-курс Бізнес-аналіз. Basic Level від Hillel IT School.
В ході курсу студенти навчаться техніці збору і аналізу вимог, документуванню та управлінню документацією, управлінню ризиками та змінами, а також навчаться моделювати процеси і прототипуванню.
Приєднатися

 

Варто згадати, що цей фреймворк постійно еволюціонує. Кожен учасник спільноти може на свій розсуд додати ідеї для його покращення. Та й навіть у самому FinOps Foundation кажуть, що фахівці можуть вільно адаптувати описані рішення під конкретні задачі свого проєкту. У Microsoft вважають, що краще зосередитись на моделі зрілості, аніж на цьому фреймворку. Розробники Azure радять зважати не на конкретні показники зрілості, а оцінювати досягнення команди окремо по кожному напряму.

 

З відомих підходів FinOps хочу виділити найбільш ефективні, на мій погляд:

 

  • Залучайте всю команду. Про раціональне використання хмар повинні думати всі, хто так чи інакше працює з ними. Недостатньо, аби за витратами стежила одна людина. FinOps має стати культурою для всіх на проєкті.

 

  • Розподіляйте відповідальність. За кожен пункт у рахунку має бути відповідальний. Тільки так можна досягти ефекту, коли кожен співробітник постійно розмірковує, як оптимізувати використання «своїх» хмарних ресурсів.

 

Курс Project Manager від Powercode academy.
Онлайн-курс Project Manager. З нуля за 3,5 місяці до нової позиції Без знання коду, англійської та стресу.
Зарееструватися
  • Візуалізуйте дані. Наочні, гарно стилізовані графіки витрат формують у команди краще розуміння того, що й скільки коштує та який вплив має.

 

  • Налаштуйте ліміти. Навіть коли всі відповідально ставляться до FinOps, є ризик перевищення бюджету. Причин може бути безліч: від росту трафіку до помилок в коді. Тому підключити сповіщення й автоматичне обмеження ресурсів у разі критичних ситуацій, аби не втратити великі гроші.

 

  • Не обмежуйтесь однією платформою. Часто на проєктах підключають сервіси одного провайдера. Це спрощує роботу розробників, девопсів, так легше гарантувати стабільність продукту. Але інколи розділення мікросервісів на різні платформи дає можливість заощадити значні кошти та попередити певні ризики.

 

  • Комбінуйте інструменти. Існують хороші нативні застосунки для FinOps: AWS Cost Explorer, Azure Invoices, Google Cloud Pricing Calculator. Так само стануть в нагоді й сторонні рішення на кшталт Apptio Cloudability та Spot by NetApp.

 

  • Звертайтесь до техпідтримки. Може здатися дивним запитувати у провайдера, як заощадити на оплаті його послуг. Насправді ж сапорт цілком адекватно ставиться до оптимізації ресурсів та бюджетів клієнтів. Усі клауд-гіганти пропонують різні варіанти економії: сезонні акції, споти, гуртові ціни. Інколи це стосується певних технологій. Наприклад, в AWS обіцяють до 72% знижки на зарезервовані інстанси у порівнянні з інстансами на запит.
  • Курс-професія "Unreal Engine Developer" від robot_dreams.
    Отримайте фундаментальні знання з розробки ігор, навчіться кодити на С++ та використовувати Blueprints і Gameplay Ability System, щоб створювати віртуальні всесвіти на топовому рівні.
    Про курс

 

  • Відмовляйтесь не лише від значних, але й від малих витрат. Було б класно знайти такий пункт бюджету, який одразу дозволить зекономити 20% і більше. В реальності ж такого майже ніколи не буває. Однак позбавляючись від багатьох дрібних витрат, ви теж оптимізуєте чимало ресурсів.

 

  • Відключайте або видаляйте непотрібне. Багато коштів йде на інстанси, які не використовуються «‎тут і зараз». Налаштуйте автоматичні системи масштабування так, щоб відключати чи взагалі видаляти те, що не потрібно на проєкті в даний момент. Доцільніше потім включити або створити їх заново.

 

  • Прогнозуйте. Чимало інструментів дозволяють розрахувати витрати на певні ресурси ще до їх підключення. Так розробники одразу розуміють доцільність певного технічного рішення. У майбутньому це допоможе уникнути помилок на деплої.

 

Що треба знати, аби стати FinOps інженером

 

Курс QA engineer від Mate academy.
Якщо ви новачок та хочете опанувати професію QA engineer - обирайте курс з гнучким графіком та допомогою в працевлаштуванні!
Отримати знижку на курс

Вам знадобляться знання DevOps, Business Intelligence, Big Data, а також розуміння сфери фінансів (прогнозування, бюджетування).

 

Зазвичай цей напрям обирають DevOps-спеціалісти, які добре знаються на хмарних рішеннях і можуть вбудовувати методології у пайплайни CI/CD. Певною мірою фахівець стає Product Owner-ом побудованої ним інфраструктури. Він знає технології проєкту і тарифи сервісів, потреби замовника та бізнесу — і підпорядковує це єдиній меті.

 

Уявімо, що ви маєте визначити причину зміни вартості послуг за певний час. Для цього треба відстежувати багато метрик. Наприклад, навантаження CPU. Після виявлення проблеми переходимо до пошуку мікросервісу, який споживає зайві ресурси. Інколи так можна дійти до рівня REST-запитів! А після цього необхідно визначити, чи виправдано це з точки зору бізнесу. Треба порахувати, наскільки вищою є продуктивність зі збільшенням споживання ресурсів. Звісно, це простий приклад. У реальності ж ця робота передбачає багато комунікацій з усіма стейкхолдерами: від розробників та бізнес-аналітиків до клієнта і колег на боці його команди.

 

Задачі можуть бути абсолютно різні. В одному випадку FinOps досліджує пропозиції провайдерів, в іншому — виступає як менеджер і готує рекомендації розробникам, контролює відповідність їх роботи принципам FinOps.

 

У більшості проєктів зазвичай немає можливості виділити таку окрему роль. Тому за FinOps-культуру відповідають передусім девопси. Водночас й інші залучені до проєкту фахівці на різних етапах можуть долучатись до брейнштормінгу і продумувати реальні потреби у хмарних сервісах для своїх задач та пов’язаних частинах продукту. За бажання будь-який ІТ-спеціаліст може осягнути FinOps.

Онлайн-курс "B2B-продажі" від Laba.
Розробіть ефективну стратегію B2B-продажів за 11 занять: від воронки до партнерської програми.Лектор курсу — засновник консалтингової компанії, який має 15 років досвіду в продажах.
Дізнатись більше

 

FinOps має бути частиною проєкту вже на старті

 

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

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.

Онлайн-курс Pyton від Powercode academy.
Опануйте PYTHON з нуля та майте проект у своєму портфоліо вже через 4 місяця.
Приєднатися

Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: