ML Engineer @ Expedia Group
The writer is smart, but don't just like, take their word for it. #DoYourOwnResearch before making any investment decisions or decisions regarding your health or security. (Do not regard any of this content as professional investment advice, or health advice)
Walkthroughs, tutorials, guides, and tips. This story will teach you how to do something new or how to do something better.
Якщо ви натрапили на цю сторінку, думаючи, що збираєтеся розбагатіти за допомогою якоїсь схеми швидкого збагачення, мені шкода вас розчарувати. У цій статті мова піде про те, як зменшити витрати на хмару на 1 мільйон доларів. Зробивши це, ви, по суті, отримаєте додатковий мільйон доларів доходу, який ви можете витратити, купуючи мій онлайн-курс про те, як стати багатим за допомогою AWS ( посилання на курс тут ).
Витрати на хмару часто не помічаються та не враховуються на початку проектів компаній. Опитування HashiCorp у 2021 році показало, що майже 40% компаній перевитратили витрати на хмару у 2021 році [ 1 ]. У 2023 році майже всі компанії (94%) визнали, що витрачали гроші на хмару [ 1 ], і принаймні 30% витрат на хмару були витрачені даремно [ 2 ]. У 2022 році витрати на хмару склали майже 500 мільярдів доларів — отже, ми говоримо про 150 мільярдів доларів, витрачених на рік!!
Це викликає занепокоєння не лише через втрачені доходи, але й через погану практику сталого розвитку. 150 мільярдів доларів витраченої енергії!
Ці висновки стосуються як великих підприємств, так і менших, від високохмарних до низькохмарних. Це відноситься до AWS, але ті ж принципи можна застосувати до будь-якого іншого хмарного постачальника. Отже, якщо якась частина вашої роботи знаходиться в хмарі, тоді ця стаття для вас.
Я говорю з точки зору інженера даних, але ті самі знання можна застосувати до інших практик розробки програмного забезпечення.
Давайте зануримося.
Такого роду хмарні рахунки зазвичай обмежуються дуже великими підприємствами, які працюють у всьому світі з мільйонами клієнтів.
Щоб дати вам уявлення, рахунок у хмарі може скласти 1 мільйон доларів США, якщо обробка завдання Spark ETL ~1,5 ТБ на годину 24x7 протягом 365 днів на рік. Іншим прикладом може бути програма, яка щодня отримує мільярди запитів із різних куточків світу.
У великому підприємстві є сотні додатків такого розміру, що призводить до мільярдних контрактів із хмарними провайдерами. Наприклад, наприкінці 2019 року Airbnb зобов’язався витратити 1,2 мільярда доларів США на хмарні ресурси протягом п’яти років [3 ].
У Expedia ми скоротили витрати на обробку даних ETL, яка коштує 1,1 мільйона доларів США на рік, до лише 100 000 доларів США на рік, запровадивши методи оптимізації. Це зниження витрат на 91%!!
Не всі компанії мають програми такого величезного розміру, але уявіть собі, що ви скоротите витрати на хмару на 90% лише для однієї програми або для всієї компанії.
Перейдіть і отримайте список своїх найдорожчих програм і оскаржте свої припущення щодо дизайну .
Усі ці запитання повертаються до найважливішого питання: як використовуватиметься програма? Яка бізнес-цінність для його існування? Як програма допомагає нам досягти поставленої мети?
Звичайно, всі ці відповіді дуже часто незрозумілі на початку проекту; але саме тому проектування завжди має бути повторюваним процесом, дозволяючи змінам відбуватися якомога плавніше. Інженери повинні сприймати еволюцію та зміни, узгоджуючи розробку програм із впливом.
Другий крок полягає в забезпеченні додатка потрібними ресурсами та налаштуванні його на правильну інфраструктуру.
Як інженер, знайте, як розраховуються витрати на хмару. Наприклад, AWS надає точкові екземпляри, де ви можете робити ставки за ціну кластера — це особливо корисно, якщо у вас є відмовостійкі та гнучкі програми. Використовуйте їх, якщо можете — AWS заявляє про зниження витрат до 90% [ 4 ].
Деякі інші міркування, на які ви можете звернути увагу:
У використанні екземплярів AWS Graviton практично немає недоліків. AWS вклала значні кошти у створення найбільш економічно ефективних процесорів. Ви можете отримати до 40% скорочення витрат на хмару, просто перейшовши з процесора на базі Intel на процесор на основі ARM [ 10 ].
Єдине застереження щодо цього полягає в тому, що ваша програма має бути сумісна з процесорами на базі ARM, на яких працює Graviton. Якщо ви маєте справу з керованою службою, такою як RDS або OpenSearch, тоді немає жодних ускладнень у перемиканні — AWS має справу з основною ОС і сумісністю програм. Якщо ви створюєте власну програму, вам може знадобитися перекомпілювати пакет залежно від мови, яку ви використовуєте — Java та інші мови не потребують змін, тоді як Python вимагає певної уваги.
Нарешті, не забувайте постійно стежити за своїми витратами на предмет несподіваних піків і сюрпризів. Вартість у день 0 вашої заявки відрізнятиметься від вартості в день 170. Переконайтеся, що ви відстежуєте зміни та розумієте, чому зміни відбуваються: це накопичення витрат на зберігання s3 чи це лише одноразове шип?
Налаштуйте необхідні оповіщення та оперативні довідники !
Важливо запровадити теги розподілу витрат для відстеження витрат за відділом, проектом або середовищем. Уникайте ризику створення нагромадження даних, де неможливо відстежити вартість або потребує довгої подорожі між різними системами журналів. Повернутися до будь-якої вартості програми має бути швидко та просто.
Де б ви не працювали, важко збалансувати надання нових функцій з оптимізацією поточних. Кого тільки не змушували надавати нові незвичайні функції зі швидкістю світла.
Однак і інженерам, і менеджерам важливо приймати обдумані та проактивні рішення щодо своїх поточних проектів, ефективно керуючи ризиками та можливостями.