Когда человек, знакомый с идеей глобальной сети устройств, Internet of Things (IoT), размышляет об устройствах IoT, перед его мысленным взором, скорее всего, встают объединенные в сеть всевозможные датчики, бытовые приборы, мобильные устройства и т. д. Именно посредством объединения набор разнообразных устройств превращается в Интернет вещей.

Однако уже скоро само по себе установление сетевых соединений нельзя будет считать достаточным критерием для определения Интернета вещей. Похоже, что это образование будет мало напоминать массив неинтеллектуальных устройств, передающих данные на сервер, расположенный где-то далеко. Скорее это будет распределенная вычислительная среда, в которой многие устройства IoT смогут сами анализировать данные и принимать решения без вмешательства извне.

По мнению многочисленных экспертов, выступавших на конференции Internet of Things World, которая состоялась в Кремниевой долине, Интернет вещей опять подталкивает ИТ-индустрию к распределенной вычислительной модели, которая теперь станет более распределенной и интеллектуальной, чем когда-либо прежде.

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

Эти типы инфраструктуры распределенных вычислений собирают данные от расположенных в одном месте IoT-устройств для последующего хранения или обработки, в результате чего вычисления выполняются ближе к источникам данных. Но в то же время все более мощные вычислительные средства активно переносятся вовне, непосредственно на конечные устройства.

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

Гравитация данных на периферии

Затраты на полосу пропускания и запаздывание — вот две силы, которые, взаимодействуя друг с другом, создают то, что Тони Шахиб, генеральный менеджер по вопросам Интернета вещей и интеллектуального «облака» корпорации Microsoft, назвал гравитацией данных на периферии. Проще говоря, во многих случаях наибольшую отдачу от IoT-приложений можно получить при том условии, что большая часть полученных от устройств данных обрабатывается непосредственно на местах.

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

Руководители многих компаний взялись за реализацию IoT-проектов, не отказавшись от представления «облако прежде всего». В результате обработка поступающих от IoT-устройств данных по большей части осуществляется на общедоступных «облачных» платформах, таких как AWS или Azure. Как выразился Стивен Голдберг, директор фирмы HarperDB, выступая на саммите IoT World в дискуссии по проблемам периферийных вычислений, если не считать самих IoT-устройств, инфраструктура распределенной обработки в таких компаниях, как правило, включает в себя множество устройств памяти для накопления данных, пока последние не будут переведены в «облако». По его словам, обеспечение полосы пропускания, необходимой для перемещения данных в «облако», и организация периферийной инфраструктуры хранения данных обходятся дорого и в конечном счете составляют значительную часть затрат на развертывание Интернета вещей. Голдберг считает, что более рациональный подход состоит в применении более распределенной вычислительной инфраструктуры, в которой уже имеющиеся периферийные устройства выполняют максимально возможный объем вычислений.

«Тот, кто располагает по-настоящему интеллектуальными технологиями и умной периферией, а не технологиями хранения данных, может получать IoT-аналитику в режиме, весьма близком к режиму реального времени»,?— полагает он.

Джесс Де Меса, стратегический партнер в венчурной фирме Momenta Partners, специализирующейся исключительно на сфере Промышленного интернета, согласен с тем, что подход к организации инфраструктуры IoT-аналитики, выражаемый формулами «облако прежде всего» или «центры обработки данных прежде всего», не будет работать и что компании в конечном итоге «будут переходить на более автономные системы».

Многие компании, готовые сегодня экспериментировать с концепцией Интернета вещей, до сих пор действуют по принципу «подключаться, собирать и хранить», тогда как время, на протяжении которого сохраняется подлинная ценность данных, измеряется в секундах.

Одним из крупнейших сторонников этого архитектурного сдвига является Microsoft. На конференции Build, состоявшейся год назад, представители корпорации провозгласили стратегию Intelligent Edge. На конференции Build в этом году Microsoft уже обнародовала ряд конкретных мер по ее реализации. К ним относятся открытие исходного кода среды Azure IoT Edge Runtime, адаптация фирменных средств машинного зрения к использованию на устройствах IoT Edge, таких как дроны и промышленное оборудование, и разработка, во взаимодействии с производителем наборов микросхем для мобильных систем Qualcomm Technologies, набора средств для разработчиков искусственного интеллекта. Инженеры смогут использовать этот набор при создании интеллектуальных камер, которые будут иметь возможность осуществлять машинное обучение, потоковую аналитику и организовывать сопутствующие службы прямо на соответствующем устройстве.

Сегодня аппаратное обеспечение для среды Azure IoT Edge может быть столь же компактным, как «железо» микрокомпьютера Raspberry Pi 3 (четырехъядерный процессор Broadcom с тактовой частотой 1,2 ГГц, 1 Гбайт оперативной памяти, слот карты microSD для средств хранения данных), и настолько мощным, насколько это необходимо потребителю. Оно функционирует под управлением операционной системы Windows, а также Linux, и поддерживает процессоры как x86, так и ARM. К числу служб Azure, которые могут выполняться на устройствах IoT Edge, относятся IoT Hub, Machine Learning, Stream Analytics, Functions и Cognitive Services.

Выступая с презентацией на саммите IoT World, Том Дэвис, директор по Azure IoT, заявил, что пользователи IoT Edge могут развертывать приложения на системах Raspberry Pi, размещенных в контейнерах Docker. Но специалисты Microsoft работают над тем, чтобы в будущем наделять такими возможностями все более и более миниатюрные устройства.

Одна база кода и много платформ

Благодаря использованию контейнеров приложений и подобных Kubernetes систем оркестровки контейнеров объем программного обеспечения, которое необходимо создавать для приложений IoT, сокращается. Благодаря разъятию приложений на микрослужбы, которые можно с легкостью развертывать на различных типах инфраструктуры, разработчики могут создавать приложения, не оглядываясь на то, где они будут выполняться — в «облаке», на периферийном маршрутизаторе IoT или на интеллектуальной камере системы замкнутого телевидения.

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