Что такое облачные и туманные вычисления и почему они стали актуальны в эпоху Интернета вещей? Датчики движения, сна, температуры, сенсоры, микроконтроллеры, видеокамеры собирают терабайты информации, которую нужно «закинуть» на облако.
Но что происходит, когда: а) разрывается интернет-соединение; б) транспортный канал «забит» данными и не справляется; в) нужно получить ответ в течение 1 мс, а на 10-15? Когда классические облака не справляются на помощь приходит новый «слой» ИТ-структуры – «туман» (Fog Computing).
Что такое туманные вычисления – определение и концепция
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» для обозначения слоя ИТ-инфраструктуры выбран закономерно: «мини-ЦОДы» действительно так близки к пользователю и облакам, словно туман.
Fog computing (fogging, fog networking) – децентрализованная архитектура, которая использует периферийные устройства для вычислений, хранения данных и связи локально.
Это могут быть:
- маршрутизаторы;
- шлюзы;
- коммутаторы;
- хабы и т.д.
Устройства физически ближе к пользователю, поэтому обеспечивают мгновенные соединения и возможность выполнения большого объема операций без отправки на облако (сервер).
При этом fog networking не заменяет облачные вычисления (Cloud Computing), а дополняет их. Конечно, туманные вычисления более сложные, подразумевают несколько уровней. Но о них поговорим в других статьях.
Применение Fog Computing и сценарии использования
- Здравоохранение. Технологии туманных вычислений позволяют контролировать состояние пациента и реагировать на чрезвычайные ситуации. К примеру, экстренный укол инсулина при повышении уровня сахара в крови. В медицине есть и другие ситуации, когда требуется мгновенная реакция на изменение критических показателей состояния здоровья пациентов.
- Умные города. Где используются туманные вычисления? Примеры – регулирование движения транспорта, уборки мусора и др. характеристик в крупных городах. Датчики сигналов светофоров и спидометров, многорежимные сенсоры, технологии компьютерного зрения нужны для организации безопасного движения пешеходов, автомобилей, машин экстренных служб и т.д. Пример использования туманных вычислений в мегаполисе – беспилотные автомобили или роботы-доставщики.
- Видеонаблюдение и системы безопасности. Объем данных с установленных по городу камер, большой. Это вызывает проблемы с передачей, обработкой, хранением. Fog Computing позволяет быстрее обнаруживать потенциальные угрозы и реагировать на них.
- Облачные провайдеры и поставщики услуг хостинга. Чтобы снять нагрузку на ИТ-инфраструктуру, провайдеры облачных платформ используют Fog Computing. Microsoft предлагает поддержку Azure (Azure Functions) внутри SDK, Amazon работает над Greengrass с Lambda-функциями, Google предлагает платформу Android Things для internet of things.
Преимущества туманных вычислений
Чтобы привести плюсы туманных вычислений, необходимо понять преимущества и недостатки каждого уровня (сверху вниз).
- Cloud Computing. Мощное централизованное хранилище находится на максимальной удаленности от пользователя. Подходит для работы с BigData и хранения данных. Но из-за удаленности от условного датчика: а) могут быть критические задержки в 10-15 мс в обработке; б) есть проблемы с пропускной способностью, особенно при больших объемах данных; в) нужен интернет.
- Fog Computing. На «среднем уровне», состоящем из множества связанных между собой узлов, задействуются локальные вычислительные ресурсы. Скорость обмена данными становится в разы выше по сравнению с Cloud Computing. Устройства Fog Computing «берут на себя» обработку часть данных, поэтому нагрузка на облако снижается, а пропускная способность канала увеличивается.
- Edge Computing. Ближе всего находится к пользователю, поэтому обеспечивает мгновенное реагирование. Но объем данных, которые может хранить, в разы меньше по сравнению с Fog Computing. При этом Edge Computing отличается слабосвязной структурой, где узлы работают вне зависимости друг от друга (у туманных вычислений сетевая структура).
Туманные вычисления – это вариант построения сетевой инфраструктуры, благодаря которому можно минимизировать проблемы высокой задержки сети, обрыва интернет-соединения, заторов (снижения пропускной способности).
Заменят ли они классические облака? Вряд ли, т.к. мощностей Fog Computing недостаточно для обработки и хранения большого количества информации. Разгрузят ли ИТ-инфраструктуру? Почти наверняка.
Но целесообразно ли инвестировать ли ресурсы в это направление?