#azure #azure-functions #serverless
#azure #azure-функции #бессерверный
Вопрос:
Я реализую серверную часть своего приложения в azure functions. Обычно я создаю множество небольших частных функций (например, анализ данных), чтобы поддерживать чистоту кода и улучшать удобство использования и читаемость, но работа с функциями Azure заставляет меня задуматься, каковы наилучшие методы в текущем сценарии.
Должен ли я создавать частные функции меньшего размера и требуют ли они дополнительных затрат при вызове из моих основных функций запуска http или я должен поместить весь код в функцию запуска http? Последнее кажется очень неинтуитивным подходом.
Ответ №1:
Вы платите за каждый вызов, то есть при срабатывании триггера. Количество зависит от времени и использования памяти. Вам решать, хотите ли вы иметь функциональный метод из 300 строк или меньший, с каким классом другие частные методы, поскольку они не играют роли в ценообразовании. Один большой метод не будет потреблять больше ресурсов / увеличивать затраты, чем несколько меньших методов.
Смотрите подробную информацию о ценах
План потребления функций Azure оплачивается на основе посекундного потребления ресурсов и выполнения. Стоимость плана потребления включает ежемесячное бесплатное предоставление 1 миллиона запросов и 400 000 ГБ-с потребления ресурсов в месяц за подписку по тарифам с оплатой по мере использования для всех функциональных приложений в этой подписке.
и
Счета за функции выставляются на основе наблюдаемого потребления ресурсов, измеряемого в гигабайтных секундах (ГБ-с). Наблюдаемое потребление ресурсов рассчитывается путем умножения среднего объема памяти в гигабайтах на время в миллисекундах, необходимое для выполнения функции. Память, используемая функцией, измеряется путем округления до ближайших 128 МБ, до максимального объема памяти 1536 МБ, при этом время выполнения вычисляется путем округления до ближайшего 1 мс. Минимальное время выполнения и объем памяти для выполнения одной функции составляют 100 МС и 128 Мб соответственно. Стоимость функций включает ежемесячное бесплатное предоставление 400 000 ГБ-с.