Spot instances что это
Оптимизация и масштабирование обучения моделей машинного обучения
Amazon SageMaker – это полностью управляемый сервис машинного обучения. С помощью сервиса Amazon SageMaker специалисты по работе с данными и разработчики могут быстро создавать и обучать модели машинного обучения, а затем развертывать их в готовой к работе размещенной среде.
Спотовые инстансы Amazon EC2 позволяют использовать свободные вычислительные ресурсы в облаке AWS со значительной скидкой по сравнению со стоимостью инстансов по требованию. Тем не менее сервис EC2 может прерывать работу спотовых инстансов, если ему нужны их ресурсы. Уведомление об этом отправляется за две минуты. Вы можете использовать спотовые инстансы для различных областей применения, связанных с обеспечением отказоустойчивости и повышением гибкости работы. Вот примеры таких областей применения: машинное обучение, аналитика, контейнеризованные рабочие нагрузки, высокопроизводительные вычисления (HPC), веб-серверы без сохранения состояния, рендеринг, CI/CD и другие рабочие нагрузки, связанные с разработкой и тестированием.
Благодаря сервису Amazon SageMaker вы можете применять спотовые инстансы EC2, чтобы выполнять задания обучения, для которых используется управляемое спотовое обучение. При управляемом спотовом обучении для выполнения заданий обучения вместо инстансов по требованию используются спотовые инстансы Amazon EC2. Вы можете указать, для каких заданий обучения следует использовать спотовые инстансы, а также условие останова. Это условие указывает время, в течение которого сервис Amazon SageMaker должен ждать задание, которое необходимо выполнить с использованием спотовых инстансов Amazon EC2. Метрики и журналы, создаваемые во время сеансов обучения, доступны в сервисе CloudWatch. В случае прерывания работы спотового инстанса сервис Amazon SageMaker повторно запустит ваши задания обучения. Вы также можете настроить задания управляемого спотового обучения таким образом, чтобы для них использовались контрольные точки. Сервис Amazon SageMaker копирует данные контрольных точек из локального расположения в сервис Amazon S3. После перезапуска задания сервис Amazon SageMaker копирует данные из сервиса Amazon S3 обратно в локальное расположение.
Подробнее об этом учебном пособии | |
---|---|
Время | 10–20 минут |
Стоимость | Менее 10 USD |
Пример использования | Вычисления, машинное обучение |
Продукты | Amazon SageMaker, спотовые инстансы EC2 |
Уровень | 300 |
Последнее обновление | 10 апреля 2020 г. |
Шаг 1. Получение доступа к сервису Amazon SageMaker
1.1 Откройте браузер и перейдите в консоль Amazon SageMaker. Вы также можете выполнить поиск по ключевому слову SageMaker или найти сервис Amazon SageMaker в разделе машинного обучения на главной странице консоли. Если у вас уже есть аккаунт AWS, войдите в консоль. В противном случае создайте аккаунт AWS, чтобы начать работу.
1.2 В правом верхнем углу выберите регион, в котором вы хотите выполнить обучение с помощью сервиса SageMaker.
1.3 В разделе Обзор или на расположенной слева панели в разделе Блокнот щелкните Инстансы блокнотов.
Начало работы со спотовыми инстансами Amazon EC2
Спотовые инстансы Amazon EC2 предлагают свободные вычислительные ресурсы в облаке AWS со значительной скидкой по сравнению со стоимостью инстансов по требованию.
Спотовые инстансы позволяют сэкономить до 90 % на отказоустойчивых рабочих нагрузках, в том числе связанных с контейнерами, высокопроизводительными вычислениями (HPC), обработкой больших данных, непрерывной интеграцией и непрерывной доставкой (CI/CD). Кроме того, с их помощью можно повысить пропускную способность в 10 раз, не выходя за рамки имеющегося бюджета.
Начало работы
Начать работу со спотовыми инстансами совсем не сложно. Прежде всего необходимо определить, для каких ключевых рабочих нагрузок лучше всего подходят спотовые инстансы. Запустить спотовый инстанс можно за считаные минуты с помощью Консоли управления AWS, встроенных сервисов AWS, таких как Amazon EMR, Amazon ECS, AWS Batch и EC2 Auto Scaling, или API группы инстансов EC2. См. руководство пользователя Amazon EC2 и приведенные ниже рекомендации и ресурсы.
1. Базовые сведения о спотовых инстансах
2. Создание первого спотового инстанса
3. Implement Best Practices
Принцип работы спотовых инстансов
Различные примеры использования
Спотовые инстансы для рабочих нагрузок на основе контейнеров
Контейнеры не сохраняют состояние, являются отказоустойчивыми и отлично подходят для спотовых инстансов Amazon EC2. Посмотрите этот вебинар, чтобы узнать, как эффективно развертывать рабочие нагрузки на основе контейнеров с помощью Kubernetes и легко управлять кластерами в любых масштабах по минимальной цене. Спотовые инстансы можно использовать вместе с Amazon Elastic Container Service, Amazon Elastic Kubernetes Service или Kubernetes для выполнения любой рабочей нагрузки на основе контейнеров – от распределенной системы до приложений, ежедневно обрабатывающих большие массивы данных. Подробнее.
Обработка больших данных на спотовых инстансах
Спотовые инстансы обеспечивают ускорение, масштабирование и существенную экономию при выполнении ограниченных по времени сверхмасштабируемых рабочих нагрузок для быстрого анализа данных. Для обработки больших объемов данных используйте спотовые инстансы вместе с Amazon EMR, Hadoop или Spark. Посмотрите это видео, чтобы начать работу со спотовыми инстансами Amazon EC2 и Amazon EMR для быстрой и экономичной обработки данных. Дополнительная информация о запуске рабочих нагрузок для большого объема данных с помощью Amazon EMR и спотовых инстансов доступна на этой странице.
Непрерывная интеграция и непрерывная доставка (CI/CD) на спотовых инстансах
Настройте Jenkins с модулем Spot, подключаемым к EC2, чтобы автоматически масштабировать группу спотовых инстансов в зависимости от количества заданий, которые необходимо выполнить. Чтобы обеспечить экономичность, используйте для CI инстансы предыдущих поколений, так как эти процессы не требуют для тестирования значительной мощности. Благодаря своей гибкости и рентабельности, спотовые инстансы эффективны при тестировании нагрузки, интеграции, предвыпускном тестировании (canary testing) и тестировании защиты. Подробнее.
Рендеринг рабочих нагрузок на спотовых инстансах
Рабочие нагрузки, связанные с рендерингом, отказоустойчивы, поэтому они отлично подходят для запуска на спотовых инстансах, которые, в свою очередь, обеспечивают значительное снижение затрат. Посмотрите эту презентацию в рамках 2019 SIGGRAPH, чтобы узнать, как начать работать с AWS Thinkbox и спотовыми инстансами и обеспечить масштабируемость рабочих нагрузок, связанных с рендерингом, с минимальными затратами. Перейдите по ссылке, чтобы узнать, как компания Scripps Networks Interactive сократила время, затрачиваемое на рендеринг компьютерной графики, на 95 % с помощью спотовых инстансов и AWS ThinkBox.
Интернет‑приложения и веб-сервисы на спотовых инстансах
Узнайте о новых инициативах, которые дадут возможность сэкономить денежные средства, или выполните масштабирование до десятков тысяч инстансов для различных веб-сервисов и интернет-приложений: рекламных серверов, серверов для торгов в режиме реального времени и т. д. Посмотрите этот вебинар, чтобы узнать, как развертывать веб-приложения любого масштаба с помощью EC2 Auto Scaling. Оптимизируйте затраты на рабочие нагрузки и научитесь использовать шаблоны запуска EC2, чтобы развернуть группу EC2 Auto Scaling и обеспечить ее работу с помощью спотовых инстансов, инстансов по требованию и балансировщика нагрузки. Дополнительная информация о запуске веб-приложений на спотовых инстансах доступна в блоге.
Спотовые инстансы Amazon EC2
Спотовые инстансы Amazon EC2 позволяют работать с неиспользуемыми ресурсами EC2 в облаке AWS. Спотовые инстансы доступны со скидкой до 90 % по сравнению с ценами на инстансы по требованию. Спотовые инстансы можно использовать для работы различных отказоустойчивых и гибких приложений либо приложений без сохранения состояния, предназначенных, к примеру, для обработки больших данных, запуска рабочих нагрузок на основе контейнеров, конвейеров непрерывной интеграции и непрерывной доставки (CI / CD), веб‑серверов, для высокопроизводительных вычислений (HPC) или для рабочих нагрузок, связанных с разработкой и тестированием. Спотовые инстансы тесно интегрированы с сервисами AWS, такими как Auto Scaling, EMR, ECS, CloudFormation, Data Pipeline и AWS Batch, что позволяет свободно выбирать способы запуска и обслуживания приложений, работающих на спотовых инстансах.
Более того, можно без лишних усилий комбинировать спотовые инстансы с инстансами по требованию, зарезервированными инстансами и инстансами Savings Plans для дальнейшей оптимизации стоимости рабочей нагрузки и производительности. Благодаря размерам инфраструктуры AWS спотовые инстансы могут обеспечить масштабирование и сокращение расходов при выполнении рабочих нагрузок в очень больших объемах. Дополнительно существует возможность перевести спотовые инстансы в спящий режим, остановить или прекратить их работу, когда сервис EC2 отзовет используемые ресурсы (соответствующее уведомление отправляется за две минуты). Только в AWS можно получить удобный доступ к неиспользуемым вычислительным ресурсам в таких больших масштабах – и все это со скидкой до 90 %.
Преимущества спотовых инстансов Amazon EC2
Низкая предсказуемая цена
Приобретая спотовые инстансы, можно сэкономить до 90 % по сравнению со стоимостью инстансов по требованию. Более того, чтобы оптимизировать стоимость рабочих нагрузок и производительность, можно выделять ресурсы из числа спотовых и зарезервированных инстансов, а также инстансов по требованию и инстансов Savings Plan с помощью сервиса EC2 Auto Scaling.
Широкое масштабирование
Спотовые инстансы позволяют получить преимущество от масштабов облака AWS. Можно запускать сверхмасштабируемые рабочие нагрузки и при этом существенно сокращать расходы или ускорять выполнение рабочих нагрузок с помощью параллельных задач.
Простота использования
Такие сервисы AWS, как EC2 Auto Scaling и ECS, а также интегрированные сторонние решения, например Terraform и Jenkins, позволяют без лишних усилий запускать и масштабировать спотовые инстансы, а также управлять ими.
AWS Insight: Spot Instances
Привет!
Что такое Spot инстанс?
Зачем использовать машины, которые могут отключиться в любую минуту?
Всё очень просто. Это дёшево. Если не важна критичность аптайма, то это идеальный вариант работы.
Вот простой юзкейс использования Spot инстансов. Каждую ночь ваше приложение собирает картинки, которые пользователи загрузили за день и создаёт из них иконки. Всё до нелепости просто: поднимается 50 Medium High-CPU инстансов, смотрят в SQS и по очереди процессят всё в папке uploaded в вашем бакете S3. Ну и складывают в папку processed.
Они обычно справляются за 2 часа. Нет смысла их резервировать на такое количество времени, даже Light Utilization Reservation не покроет расходов. За эти 2 часа за инстансы вы заплатите
На этом можно сэкономить. Нужно всего-навсего начать использовать Spot Instances. На момент написания статьи стоимость Spot Medium High-CPU инстанса $0.018. Ощутим разницу между $0.018 и $0.165. Итак, в заявку ставим в среднем в 2 раза больше стоимости спот инстанса за час, чтоб наверняка не перебили наши ставки. И получим следующие расчёты:
При таком раскладе получим
80% экономии. Единственное, о чем нам нужно помнить — это то, что инстанс могут потушить. Правильные обработки фейлов — вот что должно быть заложено в вашем софте.
Как заказать спот инстанс?
В меню Instances в консоли находим Spot Requests и создаём новый запрос. Выбираем подготовленный AMI с нашим софтом. Далее вбиваем параметры спот запроса:
Ну и дальше как обычный инстанс.
Больше о спот инстансах можно почитать на официальной страничке. Там есть много картинок и разного рода объяснений почему это всё круто.
Типы instance в amazon ec2
В этой статье я расскажу о трех типах instances в Amazon с примерами подсчета стоимости и скринами с консоли и биллинга Amazon. Статья родилась в силу малого количества информации про amazon web services, в частности данных про экономию оплаты на reserved instances я не нашел в рунете. Много скринов для лучшего понимания, когда я начинал работать с amazon мне этого сильно не хватало.
On demand instances
Являются обычными виртуальными машинами xen с паравиртуализацией для linux и hvm для windows. Создаются почти также как и в русских сервисах selectel, clodo, scalaxy. Можно использовать готовые образы с линуксом для запуска или же создавать свои, образов куча от генту до лицензионной windows. Имеют фиксированную ram и лимит на процессор в ECU(elastic cloud unit). Оплачиваются фиксированно по количеству запущенных часов. Стоимость часа для разной мощности Instances смотрим здесь, а месячные затраты можно посчитать в фирменном калькуляторе.
Выбор ami для создания instance(основной пресет от amazon собран с rhel6).
Если вас не устраивают готовые пресеты, можно выбрать классический визард и выбрать community ami, в поиске можно вбить нужную ось(centos для примера) или предустановленный софт(redmine для примера).
Для 32-bit систем доступно всего три мощности instances.
Ну вот и все об основном облачно продукте amazon.
Spot requests
Это instances с плавающей оплатой, оплата зависит от свободности ресурсов в датацентрах amazon и плавает по времени и зоне доступности instance.
Первое что надо сделать при создании такого instance это посмотреть price history по регионам и времени.
Можно увидеть, что регион us-east-1d самый дорогой и в нем не надо ничего создавать, а регион us-east-1c самый дешевый.
Вот простой пример создания такого instance, цена плавающая так как не выбран ни один регион, также можно задать максимальную цену, которую вы готовы платить за instance(если цена в данном регионе будет выше вашей максимальной ваш instance будет в дауне).
С выбранным регионом цена фиксируется
Reserved instances
Вообще не является instance как таковым. Представляет из себя скидку при длительной аренде on demand instance.
К примеру я хожу каждый месяц в парикмахерскую стричься по 100 рублей. Мне предлагают купить скидку 50% на год за 300 рублей(вот это и есть reserverd instance) и платить за стрижку 50 рублей в не 100(вот это и есть reserverd instance). Если я буду ходить каждый месяц то я сэкономлю 12*100-12*100*50%-300=300 рублей в год, если я буду ходить раз в два месяца то я ничего не сэкономлю 6*100-6*100*50%-300=0 рублей, если я схожу три раза в год то я буду в убытке 3*100-3*100*50%-300=-150.
Приобретать reserved instances выгодно когда вы уверенны что у вас будет долго запущен ваш on demand instance, на spot requests скидка не распространяется.
Тут есть два подвоха при покупке скидки вы указываете мощность instance и зону доступности(по сути датацентр), если вы создали on demand instance в другой зоне или сделали апгрейд по ресурсам то скидка действовать не будет. Второй подвох за скидку вы платите единоразово и платеж не возвращается, если вы не запускали нужный instance в нужной зоне увы вы потратили деньги зря(это все равно что ходить в парикмахерскую в которой у вас нет скидки).
У меня запущенно два m1.small instances вот пример из биллинга как они тарифицируются(один со скидкой Medium Utilization, второй без)
Использовать reserved instances выгодно при длительном использовании amazon ec2. Так же отмечу для скидку надо покупать для каждого запущенного on demand instances, не забывайте указывать правильный мощности ваших instances и зоны доступности.
Ещё одна особенность Heavy Utilization в том что плата за инстанс берется всегда, даже если вы его остановили, если вы не планируете держать инстанс запущенным целый год, ни в коем случае не берите Heavy Utilization.