Кратко:

  • Уровень производительности vCPU определяет доступную долю вычислительного времени физических ядер.
  • ВМ с уровнем производительности 100% предназначены для приложений, требующих высокой производительности.
  • ВМ с уровнем производительности меньше 100% предназначены для приложений, не требующих высокой производительности и не чувствительных к задержкам.
  • Прерываемая ВМ - это виртуальная машина, доступная за меньшую цену, но может быть отозвана в любое время.
  • Прерываемые ВМ не подходят для решений с постоянной работой и отказоустойчивостью.
  • Прерываемые ВМ подходят для пакетной обработки данных, повышения производительности веб-сервисов при пиковых нагрузках и проектов на Kubernetes.

Прерываемые машины и уровни производительности

Один из параметров, который задаётся при создании ВМ, — это уровень производительности vCPU. Он определяет доступную ВМ долю вычислительного времени физических ядер.
  • ВМ с уровнем производительности 100% имеют непрерывный (100% времени) доступ к вычислительной мощности физических ядер. Такие ВМ предназначены для запуска приложений, требующих высокой производительности на протяжении всего времени работы.
  • ВМ с уровнем производительности меньше 100% имеют доступ к вычислительной мощности физических ядер как минимум на протяжении указанного процента от единицы времени. Такие ВМ предназначены для запуска приложений, не требующих высокой производительности и не чувствительных к задержкам. Они обойдутся дешевле.
Для многих задач не требуется, чтобы виртуальная машина (ВМ) была доступна постоянно.
Например, вы настроили Jenkins для тестирования сборок (непрерывной интеграции) приложения. Изменения интегрируются несколько раз в день. Соответственно, ВМ использует ресурсы в полной мере лишь эти несколько раз в день, а в остальное время — простаивает. Получается, вы платите за постоянно доступную ВМ, хотя она вам не нужна.
В этом случае разумно создать прерываемую ВМ. Вкратце её суть такова: вы получаете вычислительные ресурсы за меньшую цену, но они могут быть отозваны в любое время. Yandex Cloud остановит прерываемую ВМ, если:
  • обычным ВМ в той же зоне доступности не хватает ресурсов. Такое происходит, когда в этой зоне доступности быстро создаётся много обычных ВМ. Например, если появляется пользователь с обширными потребностями или пользователи массово масштабируются.
  • с запуска прерываемой ВМ прошло больше 24 часов. Чтобы не перезапускать ВМ вручную каждый день, доверьтесь автоматике (например, сервису групп ВМ, о котором мы расскажем позже).
После остановки ВМ не удаляется, все её данные сохраняются.
Соглашение об уровне обслуживания (Service Level Agreement, или SLA) не распространяется на прерываемые ВМ. Вы можете запустить их вновь, только если в зоне доступности достаточно ресурсов. Поэтому прерываемые ВМ не подходят для решений, где требуется постоянная работа и отказоустойчивость.
 
Вот ещё несколько задач, для которых подходят прерываемые ВМ:
  • Пакетная обработка данных
    Обычно такие задания обрабатываются параллельно, процессом управляет оркестратор. Если прерываемая ВМ выключится, задание получит следующий исполнитель.
  • Повышение производительности веб-сервисов при пиковых нагрузках
    Когда посещаемость сайта резко возрастает, вам нужно на время подхватить нагрузку дополнительными ресурсами. Прерываемые ВМ отлично справятся с этой задачей. Важно включить в состав кластера и обычные ВМ, которые станут работать при стандартных нагрузках.
  • Проекты на Kubernetes
    Оркестратор Kubernetes позволяет автоматизировать развёртывание и масштабирование контейнеризированных приложений и управление ими. Базовая единица управления Kubernetes — под. Под отвечает за запуск одного или нескольких контейнеров на узле. Планировщик Kubernetes подбирает и назначает узел для каждого пода. Если узел с запущенным подом выйдет из строя, планировщик автоматически перенесёт под на работающий узел. Поэтому некоторые узлы можно размещать на прерываемых ВМ.