Что такое туманные вычисления

Что такое облачные и туманные вычисления и почему они стали актуальны в эпоху Интернета вещей? Датчики движения, сна, температуры, сенсоры, микроконтроллеры, видеокамеры собирают терабайты информации, которую нужно «закинуть» на облако.  Но что происходит, когда: а) разрывается интернет-соединение; б) транспортный канал «забит» данными и не справляется; в) нужно получить ответ в течение 1 мс, а на 10–15? Когда классические облака не справляются на помощь приходит новый «слой» ИТ-структуры — «туман» (Fog Computing). Nathan Anderson / UNSPLASH

Что такое туманные вычисления — определение и концепция

IoT (Интернет вещей, internet of things) растет в геометрической прогрессии. Авторы книги »Fog Computing. Concepts, Frameworks, and Applications» приводят данные: если в 2020 г. количество устройств составляло 30 млрд, то к 2025 г. приблизится к 60 млрд. Объем данных, с которыми работают сервера, увеличивается. Появляются проблемы оптимизации и распределения нагрузок.

Перед тем, как разбирать туманные вычисления, давайте посмотрим, как устроена классическая облачная инфраструктура.

Она подразумевает обмен данными по протоколам AMQP и REST HTTP. Пользователь отправляет запрос (к примеру, кликом на кнопку) и получает ответ сервера. Бытовая ситуация: зашли в приложение и нажали кнопку запуска электрического чайника.

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

Клиенту не нужно каждый раз запрашивать информацию с сервера. Достаточно подписаться на событие через посредника — брокера. Бытовая ситуация: когда вода нагрелась до 60 градусов, чайник прислал уведомление (нотификацию). 

Но IoT (Интернет вещей) расширился: появились беспилотные автомобили, управляемые дроны и т.д. Если каждая «умная вещь» будет отправлять сигнал на облако, а затем дожидаться ответа, это займет время. Для машин на автопилоте это подразумевает риск аварий и столкновений, ведь каждая миллисекунда на счету.

Появляются и другие проблемы:

  • «умных устройств» становится слишком много, и мощностей облака не хватает для обработки данных;
  • отключение интернет-соединения чревато непредвиденными ситуациями (а обработать данные на уровне устройства невозможно). 

В 2011 году вице-президент компании Cisco Флавио Бономи (Flavio Bonomi) предлагает концепцию «Fog Computing» («туманные вычисления»), которая подразумевает обработку данных ближе к пользователю. Т.е. в ИТ-инфраструктуре вводится «промежуточный слой» между облаком и «умным гаджетом» — своего рода «мини ЦОД». 

Упрощенная модель Fog computing

Архитектура решения

Туманные вычисления (Fog computing) позволяют обрабатывать данные в непосредственной близости от источников их получения. Не нужно отправлять запросы в крупные дата-центры, обрабатывать их там и ожидать результаты (респонс).

Архитектура туманных вычислений

Термин «Fog» для обозначения слоя ИТ-инфраструктуры выбран закономерно: «мини-ЦОДы» действительно так близки к пользователю и облакам, словно туман.

Fog computing (fogging, fog networking) — децентрализованная архитектура, которая использует периферийные устройства для вычислений, хранения данных и связи локально. 

Это могут быть:

  • маршрутизаторы;
  • шлюзы;
  • коммутаторы;
  • хабы и т.д.

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

При этом fog networking не заменяет облачные вычисления (Cloud Computing), а дополняет их. Конечно, туманные вычисления более сложные, подразумевают несколько уровней. Но о них поговорим в других статьях.

Применение Fog Computing и сценарии использования

  1. Здравоохранение. Технологии туманных вычислений позволяют контролировать состояние пациента и реагировать на чрезвычайные ситуации. К примеру, экстренный укол инсулина при повышении уровня сахара в крови. В медицине есть и другие ситуации, когда требуется мгновенная реакция на изменение критических показателей состояния здоровья пациентов.
  2. Умные города. Где используются туманные вычисления? Примеры — регулирование движения транспорта, уборки мусора и др. характеристик в крупных городах. Датчики сигналов светофоров и спидометров, многорежимные сенсоры, технологии компьютерного зрения нужны для организации безопасного движения пешеходов, автомобилей, машин экстренных служб и т.д. Пример использования туманных вычислений в мегаполисе — беспилотные автомобили или роботы-доставщики.
  3. Видеонаблюдение и системы безопасности. Объем данных с установленных по городу камер, большой. Это вызывает проблемы с передачей, обработкой, хранением. Fog Computing позволяет быстрее обнаруживать потенциальные угрозы и реагировать на них.
  4. Облачные провайдеры и поставщики услуг хостинга. Чтобы снять нагрузку на ИТ-инфраструктуру, провайдеры облачных платформ используют Fog Computing. Microsoft предлагает поддержку Azure (Azure Functions) внутри SDK, Amazon работает над Greengrass с Lambda-функциями, Google предлагает платформу Android Things для internet of things.

Преимущества туманных вычислений

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

  1. Cloud Computing. Мощное централизованное хранилище находится на максимальной удаленности от пользователя. Подходит для работы с BigData и хранения данных. Но из-за удаленности от условного датчика: а) могут быть критические задержки в 10–15 мс в обработке; б) есть проблемы с пропускной способностью, особенно при больших объемах данных; в) нужен интернет.
  2. Fog Computing. На «среднем уровне», состоящем из множества связанных между собой узлов, задействуются локальные вычислительные ресурсы. Скорость обмена данными становится в разы выше по сравнению с Cloud Computing. Устройства Fog Computing «берут на себя» обработку часть данных, поэтому нагрузка на облако снижается, а пропускная способность канала увеличивается.
  3. Edge Computing. Ближе всего находится к пользователю, поэтому обеспечивает мгновенное реагирование. Но объем данных, которые может хранить, в разы меньше по сравнению с Fog Computing. При этом Edge Computing отличается слабосвязной структурой, где узлы работают вне зависимости друг от друга (у туманных вычислений сетевая структура).

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

Заменят ли они классические облака? Вряд ли, т.к. мощностей Fog Computing недостаточно для обработки и хранения большого количества информации. Разгрузят ли ИТ-инфраструктуру? Почти наверняка. 

Но целесообразно ли инвестировать ли ресурсы в это направление?

Полный текст статьи читайте на Компьютерра