AWS усложняет жизнь DevOps. Как вы должны понимать цены на EC2, когда существует 400 различных инстансов Amazon EC2?

Выбрать правильный тип ВМ для работы сложно. Но этого не должно быть.

Прочтите краткое введение, а также расценки на AWS EC2 и советы экспертов по сокращению расходов на облачные услуги.

Что вы найдете внутри:

Что такое инстансы Amazon EC2?

Amazon EC2 означает Amazon Elastic Compute Cloud, веб-сервис, который предоставляет вам вычислительные мощности в облаке. AWS разработала эти экземпляры, чтобы помочь разработчикам воспользоваться преимуществами облачных вычислений в масштабе Интернета.

Услуга предлагает почти 400 различных экземпляров с выбором процессоров (Intel, AMD или Arm), вариантов хранения, сетей, операционных систем и моделей приобретения - всего в 24 регионах и 77 зонах доступности по всему миру.

Типы инстансов Amazon EC2

Общего назначения

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

Оптимизация вычислений

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

Оптимизирована память

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

Оптимизировано хранилище

- Хороший выбор для рабочих нагрузок, требующих интенсивных операций чтения / записи и низкой задержки.
- Благодаря высокой пропускной способности диска и вводу-выводу экземпляры, оптимизированные для хранения, удобны для больших данных, баз данных SQL и NoSQL, хранилищ данных и крупных транзакций. базы данных

Ускоренные вычисления

- Использует аппаратные ускорители (сопроцессоры) для выполнения таких функций, как сопоставление шаблонов данных, обработка графики и вычисления чисел с плавающей запятой лучше, чем программное обеспечение, работающее на процессорах
- Отличный выбор для машинного обучения (ML) и высокой производительности вычисления (HPC)

Тип вывода

- Создан для поддержки приложений машинного обучения
- AWS EC2 Inf1 обещает на 30% более высокую пропускную способность и на 45% меньшую стоимость вывода, чем инстансы AWS EC2 G4
- Включает 16 чипов AWS Inferentia, 2-е поколение Intel® Xeon ® Масштабируемые процессоры и сеть до 100 Гбит / с

Краткое руководство по ценам на AWS EC2

По запросу, по требованию

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

Как взломать экземпляры по требованию?

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

Зарезервированные инстансы

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

Как взломать зарезервированные инстансы?

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

Планы сбережений

Планы экономии работают так же, как зарезервированные инстансы, только вы обязуетесь использовать определенный объем вычислительной мощности в течение 1–3 лет. Будет покрываться все использование, покрываемое вашим обязательством, и вы будете платить по тарифу по требованию за любые дополнительные расходы.

Как взломать планы сбережений?

  • Лучше избегать их.
  • Вы не ограничиваетесь конкретными типами и конфигурациями экземпляров, но все же рискуете привязаться к поставщику облака.
  • Опять же, вы обязуетесь платить за ресурсы, которые могут не иметь смысла для вашей компании через 1–3 года.

Это касается как зарезервированных инстансов, так и планов сбережений: когда ваши требования меняются, вы либо берете на себя еще больше, либо застреваете с неиспользованной емкостью.

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

Спотовые экземпляры

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

Как взломать спотовые инстансы?

Выделенные хосты

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

Как взломать выделенный хостинг?

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

Какую бы модель ценообразования EC2 вы ни выбрали, не забывайте об этих дополнительных сборах.

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

5 советов по достижению правильного сочетания цены на EC2 и производительности

1. Определите свои требования

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

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

Учитывайте свои требования по всем параметрам вычислений:

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

Затем возникает вопрос: что лучше: лучше использовать ЦП или ГП?

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

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

В противном случае экземпляр на базе ЦП выполнит эту работу.

2. Выберите правильный тип экземпляра. Вот как

AWS предлагает несколько типов инстансов, оптимизированных для разных сценариев использования; просто взгляните на таблицу выше.

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

Но поставщики облачных услуг развертывают для этих экземпляров разные компьютеры. И чипы в этих компьютерах имеют разные характеристики производительности.

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

Решение? Вы можете проверить это с помощью сравнительного анализа. Просто перенесите одну и ту же рабочую нагрузку на машины каждого типа и проверьте их производительность.

Мы сделали это в CAST AI, когда начинали более года назад. Вот что мы узнали:

Пример тестирования: непредсказуемое поведение процессора

На приведенной ниже диаграмме показана работа ЦП в Amazon t2–2x большого размера (8 виртуальных ядер) в разное время после нескольких периодов простоя ЦП.

Источник: CAST AI

Примечание о процессорах: экземпляры на базе ARM

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

Но если вы хотите его использовать, вам, возможно, придется изменить архитектуру конвейера доставки и скомпилировать приложение для ARM. Если вы уже не используете интерпретируемый стек, такой как Python, Ruby или NodeJS, ваши приложения, скорее всего, будут работать.

3. Воспользуйтесь перегруженностью ЦП.

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

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

Количество накопленных кредитов ЦП зависит от типа инстанса. Более крупные экземпляры собирают больше кредитов в час. Но они также имеют более высокий предел количества кредитов, которые вы можете собрать.

Вот несколько фактов об инстансах с увеличивающейся производительностью в AWS:

  • Они доступны в семействах экземпляров: T2, T3, T3a и T4g.
  • Перезапуск инстанса в семействе T2 приводит к потере всех начисленных кредитов.
  • Перезапуск инстанса из семейств T3 и T4 означает, что ваши кредиты будут сохраняться в течение семи дней, а затем будут потеряны.

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

Кроме того, емкость ЦП имеет тенденцию линейно увеличиваться в течение первых 4 часов. После этого он становится намного более ограниченным, как в этом примере T2.2Xlarge:

Источник: CAST AI

4. Проверьте ограничения на перенос хранилища.

Чтобы сократить расходы, вам также необходимо подумать о хранении данных.

Инстансы AWS EC2 используют Elastic Block Store (EBS) для хранения дисковых томов. Вы также можете получить локальное эфемерное хранилище в AWS.

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

Избегайте дорогих дисков, таких как SSD премиум-класса, если вы не планируете использовать их в полной мере.

5. Воспользуйтесь спотовыми экземплярами.

Спотовые инстансы - отличный способ сэкономить на счете за AWS. Делая ставки на инстансы, которые AWS не использует, вы можете получить до 90% скидки на цены по запросу.

Для начала убедитесь, что ваша рабочая нагрузка подходит для спотовых инстансов, задав следующие вопросы:

  • Сколько времени нужно, чтобы закончить работу?
  • Это рабочая нагрузка, критичная по назначению и времени?
  • Хорошо ли переносит прерывания?
  • Насколько сильно он связан между узлами экземпляра?
  • Какова ваша стратегия по перемещению рабочей нагрузки, когда AWS отключается?

Выбирая спотовый инстанс, обратите внимание на менее популярные - шансы, что вас прервут, меньше.

Вы также можете проверить частоту прерывания работы экземпляра. Это скорость, с которой экземпляр восстанавливает мощность в течение последнего месяца. Взгляните на AWS Spot Instance Advisor:

Не бойтесь использовать спотовые инстансы для более важных рабочих нагрузок. AWS предлагает тип инстанса, который гарантирует бесперебойную работу до 6 часов (с почасовым шагом). За это придется заплатить немного больше, но вы все равно получите скидку 30–50%.

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

Увеличьте свои шансы на получение спотовых инстансов, создав группы под названием AWS Spot Fleets. Они позволяют одновременно запрашивать несколько типов экземпляров. И вы будете платить максимальную цену за час за весь парк, а не за конкретный спотовый пул (экземпляры с одинаковым типом, ОС, зоной доступности и сетью).

Или решить проблему ценообразования AWS EC2 с помощью автоматизированного решения

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

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

Вот как это работает.

  1. В 15:41 приложение получает неожиданный всплеск трафика. Инструмент Horizontal Pod Autoscaler создает новые модули, но им некуда запускать. Итак, мы немедленно получаем потребность в 15.5 новых ядрах ЦП.
  2. В течение 2 минут CAST AI добавляет новый 16-ядерный узел автоматически.
  3. В 15:45 в приложении появляется дополнительный трафик.
  4. Чтобы справиться с этим, он добавляет дополнительный 8-ядерный узел в течение одной минуты.
  5. Как только трафик пропадет, CAST AI мгновенно отключает 2 узла, чтобы не тратить ресурсы.

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

Первоначально опубликовано на https://cast.ai 28 апреля 2021 г.

Больше контента на plainenglish.io