Роль FinOps в оптимізації витрат на хмару
За даними галузевої дослідницької компанії Gartner, у 60% компаній витрати на хмарні технології перевищать бюджет до 2024 року. Тому, важливо оптимізувати витрати на хмарні послуги, щоб максимізувати повернення інвестицій. Як це зробити?
Роль хмари у сучасній розробці ПЗ
Хмара прискорює розробку сучасного програмного забезпечення, адже надає просте у використанні масштабоване розгортання для повсякденних програм. Власні хмарні технології, такі як безсерверні обчислення та Kubernetes, дозволяють розробникам більше зосередитися на додатку, а не на інфраструктурі та розгортанні.
Процес розгортання виконується набагато швидше і позбавляє команди деяких накладних витрат, пов’язаних з додаванням нових функцій і виправленням помилок. FaaS та Kubernetes засновані на власних хмарних технологіях, що спрощує розгортання і масштабування програм та API. Коли ви створюєте безсерверні обчислення або розгортаєте API, вам не потрібно турбуватися про те, де її розмістити або як вони масштабуватимуться. Про все подбає хмарний провайдер.
Однак, щоб навчитися правильно визначати хмарні ресурси, що відповідають вашим потребам, потрібно пройти навчання. Внаслідок цього більшість компаній не до кінця розуміють, як оптимізувати використання хмари або на чому зосередити свої зусилля.
Хмарні обчислення: додаткові витрати
Ведення бізнесу у хмарі вимагає комплексного управління та глибоких знань. Висока вартість хмарних обчислень пов’язана з використанням інфраструктури, включаючи віртуальні машини, кластери Kubernetes, віртуальні мережі, загальнодоступні IP-адреси та записи DNS.
Центральний принцип хмарних обчислень: ви повинні платити тільки за ті ресурси, які ви використовуєте, так само як з комунальними послугами, на кшталт електропостачання. Ця модель з оплатою за фактом використання має дозволяти вам регулювати ресурси на льоту, без значних інвестицій у локальну інфраструктуру. Наприклад, ви повинні мати можливість горизонтального масштабування, додаючи більше серверів під час раптових навантажень. Або якщо трафік вашого бізнес-додатка низький у святковий сезон і вам потрібно скоротити витрати, ви можете просто зменшити масштаб своєї інфраструктури.
Хоча більшість хмарних провайдерів пропонують таку конфігурацію, багато постачальників сховищ файлів використовують модель, в якій ви повинні заздалегідь заплатити за простір, який, на вашу думку, вам знадобиться. Таким чином, зберігання великих обсягів даних у хмарі може стати надмірно дорогим, хоча це зазвичай краще, ніж установка локального сховища.
Порівняння Amazon Simple Storage Service (S3), Azure Blob Storage та Google Cloud Storage дає деяке уявлення про стан поточних пропозицій хмарних сховищ. Ці постачальники пропонують сховище для неструктурованих файлів об’єктів. Технічна простота об’єктного сховища дозволяє постачальникам хмарних послуг ефективно розподіляти ресурси, і вони передають ці переваги користувачам, стягуючи плату за гігабайт, а не змушуючи їх прогнозувати робочі навантаження та виділяти ресурси, які вони можуть ніколи не використовувати.
Попри це, хмарна інфраструктура може, як і раніше, мати інші витрати, наприклад, приховані комісії за передачу та зберігання даних. Більшість хмарних провайдерів дозволяють клієнтам передавати дані до своєї мережі безплатно, але стягують плату за вихідні дані. Наприклад, AWS забезпечує безплатну передачу даних у своїй мережі, але стягує 12 центів за гігабайт переданих даних за межі своєї мережі.
Розробники зазвичай використовують MongoDB або PostgreSQL для зберігання структурованих даних. Багато організацій використовують базу даних як послугу (DBaaS) для розгортання повністю керованої БД у хмарі, минаючи традиційний спосіб налаштування віртуальної машини та ручної установки виправлень безпеки. Але цей підхід також пов’язаний із витратами, і вони можуть швидко перевищити бюджети організацій зі зростанням обсягів даних.
Управління хмарними витратами
Витрати на хмару можуть швидко зрости, і перш ніж бізнесу стане про це відомо, вони сплатять тисячі доларів за послугу, яка їм не потрібна або яку можна було б налаштувати інакше.
Таким чином, управління хмарними витратами стало важливою частиною ведення бізнесу у хмарі. Щоб зрозуміти повну картину, командам іноді потрібно глянути на білінгову консоль або окремі рахунки кожної послуги. Проте, цей метод складний, якщо бізнес невеликий. Якщо компанія використовує десятки чи сотні сервісів, це може бути майже неможливим.
Оскільки створення нових ресурсів у хмарі — це лише кілька клацань мишею, командам легко виділити ресурси, які їм навіть не потрібні. Якщо вони забудуть відключити такі налаштування, вони платитимуть за потужності, що не використовуються.
Більшість хмарних сервісів стягують плату за моделлю оплати в міру використання. Однак, цей білінг може вводити в оману, тому що рахунки ніколи не надходять відразу. Команди можуть випадково запустити 10 000 віртуальних машин замість 10, які їм потрібні. Вони можуть встановлювати дозвільні політики, а потім їхнє програмне забезпечення реагує на стійкий сплеск трафіку, надаючи пожежний рукав загальнодоступних хмарних ресурсів. У таких випадках командам слід дізнатися про це задовго до того, як наприкінці місяця прийде великий рахунок.
Хмарні технології потребують виважених рішень. На жаль, можливі помилки, що будуть дорого коштувати. Оскільки хмара дає нам більше можливостей витрачати гроші, це робить управління витратами на неї критично важливою складовою для підприємств будь-якого розміру.
Як оптимізувати витрати на хмару?
Лише нещодавно на ринку з’явилася професія FinOps-спеціаліст. Це та сама спеціально навчена людина, чиє завдання полягає в:
- контролі за купівлею та використанням потужностей,
- зниженні витрат компанії за цим напрямом.
Зазвичай скорочення витрат зводиться просто до пошуку найдешевшого рішення, недорогого тарифу AWS тощо. Проблема в тому, що найчастіше цим займається будь-хто. Якщо ми говоримо про стартап, то це, ймовірно, провідний розробник, у якого і так вистачає роботи. У невеликих компаніях цим займається CMO/CTO. Загалом саме ті люди, у яких і профільних турбот вистачає. І виходить, що рахунки за інфраструктуру зростають, але розбиратися з цим не має часу.
Ми не агітуємо відмовитися від дорогих та ефективних рішень: кожен бізнес має сам вирішувати, що йому потрібно для комфортного існування у плані заліза та хмарних тарифів. Але не можна не звернути увагу на той факт, що закупівля «за стандартним списком» без подальшого контролю та аналізу використання виливається у численні збитки через неефективне управління «активами» свого бекенду.
Хто такий FinOps-спеціаліст і чим він допоможе?
Приміром, у ваше підприємство купило «за списком» десяток-другий серверів, AWS і ще дещо на про всяк випадок. Що логічно: у великій компанії постійно відбувається якийсь рух — одні команди ростуть, інші розпадаються, треті переводять на сусідні проєкти. А узгодження, схвалення та безпосередньо оплата заявки всередині компанії на той самий тариф AWS — справа не завжди (насправді майже ніколи) швидка. І саме через постійний корпоративний рух частина цих самих придбань може десь «загубитися».
Яке найочевидніше рішення? Передати кермо тому, хто розбирається.
Хто може виправити ситуацію? FinOps-спеціаліст.
FinOps-спеціалісти — не прошарок між розробниками та необхідними їм ресурсами, а людина чи команда, які знають усі деталі у плані тих самих хмарних тарифів, куплених компанією. Фактично FinOps повинні працювати разом з DevOps-спеціалістами, з одного боку, і фінансовим департаментом — з іншого. Ще й виконуючи роль ефективного посередника та аналітика.
Річ у тому, що рахунки за різні хмарні сервіси завжди вкрай заплутані: по одній позиції може прийти тристорінкове розшифрування, за що, куди і як пішли ваші гроші. Така деталізація приємна, але розібратися в ній практично неможливо. Не дарма, для того, щоб переводити хмарні рахунки на зрозумілу мову, існують цілі сервіси, наприклад Apptio Cloudability.
Що в цій ситуації робить FinOps-фахівець?
- чітко розуміє, коли, для чого та в яких обсягах було закуплено хмарні рішення;
- знає, як ці потужності використовуються;
- перерозподіляє їх, залежно від потреб того чи іншого підрозділу;
- не купує хмарні рішення «про всяк випадок»;
- в результаті, економить гроші компанії.
Відмінний приклад — хмарне зберігання холодної копії БД. Здавалося б, ситуація копійчана, але сукупність таких моментів потім і виливається в непомірні витрати на хмарні послуги.
Інший приклад: у вас є придбані про запас потужності на AWS або Azure, щоб не впасти під піковим навантаженням. Чи можна бути певним, що це оптимальне рішення? Адже якщо ці інстанси простоюють 80% часу, то ви просто даруйте гроші Amazon. Тим більше для таких випадків у тих же AWS і Azure є burstable інстанси. Адже, навіщо вам використовувати сервери в холосту, якщо можна юзати інструмент для розв’язання проблем якраз пікових навантажень? Або замість інстансів On-Premise варто подивитися у бік Reserved — вони обходяться набагато дешевше. А от що підійде вашому бізнесу якнайкраще — знає саме FinOps-спеціаліст.
Хочете дізнатися більше про адміністрування Amazon Web Services або інших хмарних провайдерів? Обирайте курс від IT Education Center та керуйте хмарою ефективніше.