Подходят ли функции Azure, работающие в режиме потребления, для сильно меняющейся, но критической по времени нагрузки?

Я собираюсь начать работу над API, который буквально перейдет от 0 RPS к паре сотен тысяч HTTP RPS одновременно и будет работать с такой скоростью в течение ~ 2 минут. Вся обработка этих 30 миллионов запросов должна быть завершена к концу этого двухминутного периода. Это будет происходить 7 раз в НЕДЕЛЮ.

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

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

Является ли это плохим вариантом использования Функций Azure в режиме потребления?

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


person Nate Jackson    schedule 08.08.2017    source источник


Ответы (1)


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

В основном я работал с очередями, а не с HTTP, но у меня были задержки до 40 минут из-за медленного масштабирования.

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

person Mikhail Shilkov    schedule 08.08.2017
comment
вы также можете использовать правила автомасштабирования, чтобы настроить план для масштабирования до указанного количества экземпляров на основе расписания. Дополнительные сведения см. на странице docs.microsoft.com/en. -us/azure/architecture/best-practices/ - person Paul Batum; 08.08.2017
comment
@PaulBatum Вы не можете настроить автомасштабирование для плана потребления, что было в основе моего вопроса. Я надеялся, что кто-нибудь сможет вмешаться и объяснить, как будут масштабироваться функции, запускаемые HTTP... то есть, как быстро, до каких пределов и по каким параметрам. Я понимаю, что могу выбрать план службы приложений в качестве плана хостинга и управлять увеличением/уменьшением масштаба. Однако мой API будет использоваться около 14 минут в НЕДЕЛЮ... поэтому я надеялся, что план потребления упадет до 0 долларов в течение большинства остальных 10 066 минут в неделю. - person Nate Jackson; 09.08.2017
comment
Мои комментарии об автоматическом масштабировании были связаны с рекомендацией Михаила по использованию плана обслуживания приложений. Он прав в том, что план потребления не будет соответствовать этому сценарию (по состоянию на август 2017 года). Как с точки зрения масштабирования до 200 000+ RPS, так и с точки зрения скорости масштабирования. - person Paul Batum; 14.08.2017