Рубрики
Uncategorized

Точечные экземпляры: как сократить расходы AWS, Azure и GCP на 90%

Вы, возможно, уже знаете, что это за улов. Облачный провайдер может вытащить вилку в любое время с зажженным … Tagged с DevOps, AWS, SpotInstances, Kubernetes.

Оптимизация затрат облака (3 серии деталей)

Вы, возможно, уже знаете, что это за улов.

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

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

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

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

Это часть 3 нашей серии оптимизации затрат. Остальная часть серии включает в себя:

  1. Удивлен вашим облачным счетом? 5 общих проблем и как с ними решать
  2. Как выбрать лучший тип виртуальной машины для работы и сохранить свой облачный счет ____

Почему точечные экземпляры такие сложные?

Прерывания неизбежны

CSP предлагают свои неиспользованные мощности по ценам, которые предлагают экономию до 90%. Единственный улов — это то, что они могут вытащить пробку с коротким уведомлением, от 2 минут до 30 секунд. Вот почему точечные экземпляры сложнее управлять производственными рабочими нагрузками.

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

Потягивание заглушки происходит быстро

CSP предлагают короткое уведомление о прерывании. Amazon дает вам 2 минуты, Azure и Google всего 30 секунд. Это достаточно времени, чтобы сбросить все и найти замену для вашего экземпляра? Не для человека.

Допустим, вы уже посмотрели на экземпляр по требованию. Создание новой виртуальной машины занимает около 5 минут на AWS (и даже дольше, если вы используете Kubernetes), поэтому вы смотрите на несколько минут потенциального времени простоя. Другим методом являются некоторые приостановленные машины, которые могут вмешаться, когда вы теряете экземпляр. Но тогда ваши сбережения не будут такими впечатляющими.

Лучший способ справиться с перерывами экземпляров Spot — это автоматизация.

Примечание: Рекомендация по восстановлению

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

Ограниченная мощность

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

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

Итак, зачем вообще использовать точечные экземпляры?

Некоторые из ваших рабочих нагрузок, вероятно, не нуждаются в машинах по требованию всегда. Технологические компании, такие как Salesforce, Lyft или Autodesk, используют точечные экземпляры.

Если у вас все еще есть некоторые сомнения, рассмотрите этот сценарий:

Допустим, у вас есть 10 стручков для вашего приложения — служба каталога продуктов. Половина стручков работают на месте.

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

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

Но что, если вы хотите изящно справиться с перерывом и заменить эту емкость, прежде чем она станет проблемой?

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

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

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

Когда использовать точечные экземпляры?

Если сервис является без сохранения состояния и может быть масштабирована, то есть иметь более одной копии — это Хороший кандидат на точечные экземпляры.

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

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

  • Работа по обработке партии -Они сдержанны и негибкие экземпляры.
  • Контейнеры и микросервисы -Они, как правило, автономные, высокодоступные, устойчивые к неисправности и способны обрабатывать прерывания.
  • Высокопроизводительные вычисления (HPC) — Эти приложения обычно нуждаются в очень высоких вычислительных возможностях, огромных количествах памяти, быстрого хранения и высокой производительности сети. Точечные экземпляры могут поддерживать их посредством разрыва или даже служить первичной вычислительной инфраструктурой.
  • CI/CD Operations — Неважно, какие инструменты вы используете; Эти случаи могут пригодиться в процессе развертывания.
  • Распределенные базы данных — Elasticsearch или MongoDB могут обрабатывать прерывание, не теряя никаких данных и не влияя на услугу.
  • Любое приложение в оркестренной среде

Какой CSP выбрать для точечных экземпляров?

Сделайте это, прежде чем получить место

1. Знайте свою рабочую нагрузку

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

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

2. Вишни, приписывайте ваши экземпляры

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

При просмотре доступных экземпляров обязательно проверьте частоту перерыва. Частота перерыва — это скорость, с которой экземпляр восстанавливает провозглашенные мощности в течение месяца в отставке.

AWS отображает его в консультанте по энденсам в диапазонах <5%, 5-10%, 10-15%, 15-20%и> 20%:

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

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

Точечный экземпляр, работающий для предопределенной продолжительности, может достичь скидки до 30-50% по сравнению с ценообразованием по требованию.

4. Ставка на свою цену

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

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

Если вы установите пользовательскую сумму, и цена повысится, вы рискуете прервать.

5. Управлять точечными экземплярами в группах

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

Другой перк заключается в том, что вы можете устанавливать максимальную цену в час для всего парка, а не данный точечный пул (группа экземпляров с тем же типом, ОС, зоной доступности и сетевой платформы.

  • AWS Spot Fleet — Вы можете управлять большим парком спотовых экземпляров с различными стратегиями распределения (например, учитывая самую низкую цену или только оптимизированные типы мощности).
  • Azure VM Scale Set -Используйте эту функцию, чтобы создать и управлять группой виртуальных машин, сбалансированных нагрузкой, автоматически увеличивая или уменьшая их число.
  • Google Managed Encement Group — Вы можете объединить упреждаемые экземпляры в группе после указания превентивного параметра в шаблоне экземпляра.

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

6. Обратитесь к автоматизации

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

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

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

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

Вот что может сделать для вас автоматизацию точечных экземпляров

Помните тематическое исследование, которое мы поделились с вами в статье о выборе лучшей виртуальной машины для работы?

Чтобы проверить наш подход к экономии затрат в Cast AI, мы выбрали демонстрационное приложение для электронной коммерции с открытым исходным кодом, которое мы адаптировали из Google.

Сначала мы подготовили приложение:

  1. Мы протестируем нагрузку на наше приложение с помощью одновременных пользователей ~ 1K.
  2. Мы масштабировали стручки для каждого микросервиса соответственно (используя AWS EKS со статически масштабированным развертыванием).
  3. Чтобы захватить метрики, мы провели тест в течение 30-60 минут.
  4. Затем мы экстраполировали расходы в течение 30-дневного периода (мы приняли во внимание сезонность трафика).
  5. Чтобы это произошло, мы сгенерировали вероятную 30-дневную шаблон использования с помощью сценария Python. Пример использования испытывал шипы каждый день примерно в одно и то же время и имело несколько дней в неделю с более тяжелым движением. Вот как мы рассчитали Ежемесячные расходы на запуск демонстрационного приложения На экземпляре теста AWS.

Наша первоначальная ежемесячная стоимость запуска приложения была $ 691.20 Анкет

Мы применили политику CAST AI Spot Encement, обеспечивающую то, что наша заявка сохранила затраты по сравнению с ценой по требованию.

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

Это снизило общие вычислительные затраты до 65,01 долл. США, что экономит 90% по сравнению с первоначальными затратами на нептимизированное развертывание. Внутри актерской платформы

Заворачивать

Точечные экземпляры — это зверь, которого можно приручить. Но чтобы пожинать ценовые преимущества и безопасно использовать их в производстве, вам нужно будет использовать решение для автоматизации, такое как Бросить AI Анкет

Оптимизация затрат облака (3 серии деталей)

Оригинал: «https://dev.to/castai/spot-instances-how-to-reduce-aws-azure-and-gcp-costs-by-90-35co»