Если вы наткнулись на эту страницу, думая, что сможете разбогатеть с помощью какой-то схемы быстрого обогащения, мне жаль вас разочаровывать. В этой статье речь пойдет скорее о том, как сократить расходы на облако на 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 или это просто разовый случай. шип?
Настройте необходимые оповещения и оперативные руководства !
Важно отметить, что внедрите теги распределения затрат для отслеживания расходов по отделам, проектам или средам. Избегайте риска создания болота данных, где затраты невозможно отследить или требуется долгое путешествие по различным системам журналов. Вернуться к любой заданной стоимости приложения должно быть быстро и просто.
Где бы вы ни работали, сложно сбалансировать предоставление новых функций с оптимизацией существующих. Кого не заставляли предоставлять новые необычные функции со скоростью света.
Однако как инженерам, так и менеджерам важно принимать взвешенные и проактивные решения относительно своих текущих проектов, эффективно управляя рисками и возможностями.