paint-brush
Как заработать 1 миллион долларов с помощью AWS за годк@gianpicolonna
65,450 чтения
65,450 чтения

Как заработать 1 миллион долларов с помощью AWS за год

к Gianpi Colonna5m2024/04/28
Read on Terminal Reader

Слишком долго; Читать

Сократите расходы на облако AWS на 90 %! Узнайте 4 шага для оптимизации расходов: оспаривайте предположения, настраивайте ресурсы, используйте экземпляры Graviton и отслеживайте использование.
featured image - Как заработать 1 миллион долларов с помощью AWS за год
Gianpi Colonna HackerNoon profile picture
0-item
1-item


Если вы наткнулись на эту страницу, думая, что сможете разбогатеть с помощью какой-то схемы быстрого обогащения, мне жаль вас разочаровывать. В этой статье речь пойдет скорее о том, как сократить расходы на облако на 1 миллион долларов. Сделав это, вы, по сути, получите дополнительный миллион долларов дохода, который вы можете потратить на покупку моего онлайн-курса о том, как разбогатеть с помощью AWS ( ссылка на курс здесь ).



Стоимость облака часто упускается из виду и не учитывается в начале проектов компаний. Опрос HashiCorp, проведенный в 2021 году, показал, что почти 40% компаний перерасходовали расходы на облачные технологии в 2021 году [ 1 ]. В 2023 году почти все компании (94%) признались, что тратят деньги на облако [ 1 ] и не менее 30% затрат на облако было потрачено впустую [ 2 ]. В 2022 году расходы на облако составили почти 500 миллиардов долларов — следовательно, мы говорим о 150 миллиардах долларов, потраченных впустую в год!


Это не только проблема упущенных доходов, но и плохая практика устойчивого развития. 150 миллиардов долларов потраченной впустую энергии!


Эти выводы касаются как крупных, так и более мелких предприятий, от высокоразвитых облаков до низкоразвитых облачных технологий. Это относится к AWS, но те же принципы можно применить и к любому другому облачному провайдеру. Итак, если какая-то часть вашей работы находится в облаке, то эта статья для вас.


Я говорю с точки зрения инженера данных, но те же знания можно применить и к другим практикам разработки программного обеспечения.

Давайте погрузимся.


Что нужно, чтобы потратить 1 миллион долларов на облачные расходы в год?

Этот вид счетов за облако обычно ограничивается очень крупными предприятиями, которые работают по всему миру с миллионами клиентов.


Чтобы дать вам представление, счет за облако в 1 миллион долларов может возникнуть в результате обработки задания Spark ETL примерно 1,5 ТБ в час 24x7 в течение 365 дней в году. Другим примером может быть приложение, которое получает миллиарды запросов в день из разных мест по всему миру.


На крупном предприятии существуют сотни приложений такого размера, что приводит к заключению контрактов на миллиарды долларов с облачными провайдерами. Например, в конце 2019 года Airbnb взяла на себя обязательство потратить 1,2 миллиарда долларов на облачные ресурсы в течение пяти лет [3 ].


В Expedia мы сократили расходы на ETL обработки данных, стоимость которого составляет 1,1 миллиона долларов в год, до всего лишь 100 000 долларов в год за счет внедрения методов оптимизации. Это снижение затрат на 91%!!


Не у всех компаний есть приложения такого огромного размера, но представьте себе, что затраты на облако можно сократить на 90 % только для одного приложения или для всей вашей компании.



Как нам начать экономить?

ШАГ 1. Оспорьте свои проектные предположения

Получите список ваших самых дорогих приложений и бросьте вызов своим проектным предположениям .

  • Вы создаете приложение, которое имеет доступность 99,999% и задержку менее миллисекунды, но на самом деле пользователям было бы достаточно хорошо с доступностью 99% и задержкой в сотни миллисекунд?
  • Вы создаете наборы данных с миллиардами строк, но пользователи будут использовать только агрегированные значения некоторых показателей?
  • Вы получаете данные в режиме реального времени, но данные анализируются только один раз в день?
  • Вы обновляете кеш каждые 10 секунд, но на самом деле он меняется только через несколько дней?


Все эти вопросы возвращаются к самому важному вопросу: как будет использоваться приложение? Какова бизнес-ценность его существования? Как приложение помогает нам достичь поставленной цели?


Конечно, все эти ответы очень часто неясны в начале проекта; но именно поэтому проектирование всегда должно быть итеративным процессом, позволяющим изменениям происходить как можно более плавно. Инженеры должны учитывать эволюцию и изменения, согласовывая разработку приложений с эффектом.


ШАГ 2. Настройте ресурсы инфраструктуры в соответствии со своими потребностями.

Второй шаг состоит из предоставления приложению необходимых ресурсов и настройки его под нужную инфраструктуру.


Будучи инженером, вы должны знать, как рассчитываются затраты на облако. Например, AWS предоставляет спотовые инстансы, где вы можете предлагать цену за кластер — это особенно полезно, если у вас отказоустойчивые и гибкие приложения. Используйте их, если можете — AWS заявляет о снижении затрат до 90% [ 4 ].


Некоторые другие соображения, которые вы, возможно, захотите рассмотреть:

  • Вы обслуживаете клиентов по всему миру или только в одном географическом регионе? Действительно ли вам нужна ваша инфраструктура для работы по всему миру или вы можете разместить ее ближе к своей клиентской базе?
  • Вы слишком выделяете экземпляры кластера? Постарайтесь обеспечить достаточную мощность для обработки пиковых нагрузок без ненужных затрат. Используйте автоматическое масштабирование для динамической корректировки ресурсов в зависимости от фактического спроса, предотвращая переплату за простаивающие ресурсы.
  • Если вы работаете с данными и Spark, убедитесь, что вы понимаете концепции и настройку Spark! Если нет, взгляните на следующие ресурсы [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

ШАГ 3. Используйте экземпляры AWS Graviton

Недостатков в использовании экземпляров AWS Graviton практически нет. AWS вложила значительные средства в создание наиболее экономичных процессоров. Вы можете сократить расходы на облако до 40 %, просто перейдя с процессора Intel на процессор ARM [ 10 ].


Единственное предостережение: ваше приложение должно быть совместимо с процессорами на базе ARM, на которых работает Graviton. Если вы имеете дело с управляемым сервисом, таким как RDS или OpenSearch, переключение не представляет никаких сложностей — AWS занимается совместимостью базовой ОС и приложений. Если вы создаете собственное приложение, вам может потребоваться перекомпилировать пакет в зависимости от того, какой язык вы используете — Java и другие языки не требуют изменений, тогда как Python требует некоторого внимания.


ШАГ 4. Контролируйте свои расходы и обучайте их осведомленности о затратах.

Наконец, не забывайте постоянно следить за своими расходами на предмет неожиданных пиков и сюрпризов. Стоимость вашего приложения в день 0 будет отличаться от стоимости в день 170. Убедитесь, что вы отслеживаете изменения и понимаете, почему они происходят: суммируются ли затраты на хранилище s3 или это просто разовый случай. шип?


Настройте необходимые оповещения и оперативные руководства !


Важно отметить, что внедрите теги распределения затрат для отслеживания расходов по отделам, проектам или средам. Избегайте риска создания болота данных, где затраты невозможно отследить или требуется долгое путешествие по различным системам журналов. Вернуться к любой заданной стоимости приложения должно быть быстро и просто.


Последние мысли

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


Однако как инженерам, так и менеджерам важно принимать взвешенные и проактивные решения относительно своих текущих проектов, эффективно управляя рисками и возможностями.