Существуют ли провайдеры облачных / кластерных / хостинговых услуг, которые взимают плату за фактическое использование процессорного времени? - PullRequest
6 голосов
/ 11 октября 2011

Есть ли провайдеры, которые будут взимать плату только за 2 часа в день вычислений? Насколько я могу судить по чтению различной литературы, Azure, EC2 и GAE будут взимать плату до тех пор, пока код развернут в экземпляре, независимо от того, выполняет ли он что-либо или нет. Я полагаю, это сработало бы, если бы мы могли автоматически включить экземпляр по расписанию и позволить ему завершить себя после его завершения ... Но я не могу найти ничего, что позволило бы это.

Фон

У нас есть процедура, которая выглядит следующим образом:

  • Каждый день в 6 часов утра загружайте данные с определенного веб-сайта
  • Выполните вычисление на этих данных. Это вычисление длится менее 2 часов
  • Отправить (HTTP) результаты этих вычислений на другой веб-сайт

Мы стремимся выполнить это таким образом, чтобы оно не требовало ручного вмешательства. Таким образом, каждый день нам потребуется максимум 2 часа процессорного времени. Мы хотели бы разместить это где-нибудь, что максимизирует эффективность простоя в течение 22 часов в день (и взимает плату соответственно).

Кто-нибудь предлагает такую ​​услугу?

Ответы [ 6 ]

4 голосов
/ 11 октября 2011

Windows Azure предоставляет управление приложениями (службами) с помощью API на основе REST (http://msdn.microsoft.com/en-us/library/ee460799.aspx).. Вы можете написать собственный код с помощью этого REST API для управления развертываниями. Существуют как коммерческие ( Cerebrata Azure) Командлеты управления ) и бесплатные ( Windows Azure Platform PowerShell Cmdlets ) инструменты, которые могут помочь вам автоматизировать задачи развертывания.

3 голосов
/ 11 октября 2011

Я бы сказал, что Бэкэнды Google App Engine звучат так, как вам нужно:

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

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

В вашем случае вы можете просто запустить бэкэнд в 6 утра, запустить долгосрочное вычисление (без 10-минутного ограничения времени в очереди задач) и использовать URLFetch библиотека для отправки результатов, где вам это нужно.Недостатком здесь является то, что (IIRC), если вы не находитесь под бесплатной квотой, вы будете платить $ 9 / месяц за приложение (хотя вы могли бы использовать это, чтобы получить хороший и мощный бэкэнд).

В качестве альтернативы, вы можете просто использовать Amazon EC2 и настроить изображение со всем необходимым кодом, сохранить его в S3 и настроить задание cron на запуск его экземпляра в 6 утра, запустить вычисление и убить его, как только оно будет сделанои у вас есть необходимые результаты.Здесь вам нужно будет оплатить только два часа работы и дополнительные несколько центов за сохранение изображения в S3.

3 голосов
/ 11 октября 2011

App Engine имеет Cron Service , который может выдавать запрос в определенное время суток. Затем вы можете использовать Task Queues для фактического выполнения работы.

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

В отличие от Amazon и др., App Engine не взимает плату в зависимости от времени, он взимает плату в зависимости от фактического использования (например, количество обрабатываемых запросов в секунду, количество использованных байтов и т. Д.).

2 голосов
/ 11 октября 2011

Amazon EC2 может делать то, что вы ищете.

Amazon's Автоматическое масштабирование поддерживает планирование количества экземпляров, которые вы хотите запустить в любой конкретный момент времени.Вы можете использовать это для запуска одного экземпляра в нужное время.Вы должны настроить параметры AMI / run так, чтобы он запускал ваше пакетное задание при запуске.

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

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

Запуск экземпляров EC2 в повторяющемся расписании с автоматическим масштабированием
http://alestic.com/2011/11/ec2-schedule-instance

Спасибо за идею: -)

1 голос
/ 16 мая 2013

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

Прежде всего вы можете остановить свою среду в любое время, когда вам это понадобится, и она не будет использовать какие-либо динамические ресурсы (ОЗУ, ЦП). Следовательно, вы будете платить за фактически используемые ресурсы.

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

Jelastic планирует открыть API, который позволит пользователям управлять циклом своих сред (остановка, запуск), который может быть либо размещен в вашем коде, либо реализован из браузера. Это будет выполнено в ближайшем будущем, так что не упустите шанс испытать его.

0 голосов
/ 11 октября 2011

Фактически каждый провайдер, у которого есть почасовые периоды выставления счетов, допускает это, пока вы автоматизируете создание и удаление экземпляра через API.Вы можете найти их в Механизме сравнения IaaS , если в расширенном режиме вы указываете 2 часа в день в поле «Время включено».

Еще один указатель - Selectel - российский провайдер, который взимает плату за фактическую загрузку ресурса.Так что если вы платите половину цены процессора, если у вас есть 50% использования.Не знаю, платите ли вы вообще, если он уходит на 0. Аналогично с ОЗУ.

...