Когда следует использовать Функции Azure для Интернета вещей

Завершено

В этом уроке мы обсудим, как решить, является ли Функции Azure правильным выбором решений Интернета вещей. Мы перечислим некоторые критерии, которые подскажут, будут ли Функции Azure соответствовать вашим целям по развертыванию решений Интернета вещей.

При использовании бессерверных вычислений вы можете сосредоточиться на основной логике решений. Вам не нужно управлять базовой инфраструктурой, на которой запущено ваше решение. В бессерверной модели приложения поставщик облачных служб автоматически подготавливает, масштабирует базовую инфраструктуру, необходимую для выполнения кода, и управляет ею. Бессерверная модель имеет два аспекта: функция как услуга и серверная часть как услуга.

Разработчики пишут приложение как функции. Как правило, эти функции не имеют состояния и являются кратковременными. Функции Azure позволяют связать функции для создания полного решения. Таким образом, разработчику необходимо писать функции, взаимодействующие друг с другом, чтобы решить бизнес-проблему. С другой стороны, поставщик облачных служб управляет этими развернутыми функциями с точки зрения таких ресурсов, как процессоры, хранилище и пропускная способность (серверная часть как услуга). Ресурсы предоставляются по мере необходимости и масштабируются при необходимости. Вы (разработчик) платите за функцию, только когда она выполняется (функция как услуга). Приложения Интернета вещей соответствуют многим из этих характеристик. В случае приложений Интернета вещей можно создать более крупное приложение путем амальгаматирования и цепочки многих функций и динамического масштабирования их по мере необходимости.

Деловые соображения

Основное деловое соображение для использования Функций Azure для Интернета вещей — создание масштабируемых приложений, в которых плата взимается только за используемые ресурсы. Решение может динамически увеличивать или уменьшать масштаб в зависимости от бизнес-требований. Вам не нужно управлять инфраструктурой или заранее выделять ресурсы. Другие преимущества бизнеса включают более быстрое время на рынок и гибкость использования нескольких языков программирования.

Рекомендации по Интернету вещей

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

Рекомендации по использованию Функций Azure

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

  • Запись функций без отслеживания состояния: функции должны быть без отслеживания состояния идемпотентными, если это возможно. Идемпотентность — это свойство определенных операций в математике и компьютерных науках, которое позволяет применять их несколько раз без изменения результата после первого применения. Например, число 1 является идемпотентным в отношении операции умножения, так как 1 x 1 = 1. Свяжите все необходимые сведения о состоянии с вашими данными. Взаимодействие между функциями можно обеспечить с помощью Устойчивых функций и Azure Logic Apps, которые управляют переходами между состояниями и взаимодействием между несколькими функциями.

  • Запись оборонительных функций: проектирование функций с возможностью продолжить работу с предыдущей точки сбоя во время следующего выполнения.

  • Рекомендации по масштабируемости: совместное использование подключений и управление ими, избегайте совместного использования учетных записей хранения, а также управление использованием памяти функции.