Размышления о «туманных вычислениях. Что такое «туманные вычисления»

Большинство облачных вычислительных служб подразделяются на три общие группы: инфраструктура как услуга (IaaS), платформа как услуга (PaaS) и программное обеспечение как услуга (SaaS). Такие службы иногда называют облачным вычислительным стеком, потому что они накладываются одна на другую. Если вы узнаете, что они из себя представляют и чем друг от друга отличаются, то вам будет проще реализовать поставленные бизнес-цели.

Инфраструктура как услуга (IaaS)

Платформа как услуга (PaaS)

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

Программное обеспечение как услуга (SaaS)

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

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

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

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

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

Главный недостаток облачных вычислений - это последняя миля, медленная доставка сервиса пользователю из конкретного ЦОДа без задержек. Взамен этому принципу приходит обеспечение его системами, сочетающими скорострельность локальных систем и мощь облачных. Модель everything-as-a-service способна наконец реализовать слоган «данные с любого устройства, в любое время и в любой точке мира».

Но в чем же все таки явно заметное для конечного пользователя отличие тумана от облака?

Поставка данных физически ближе к пользователю. Сейчас нужные данные из американского облачного ЦОДа гонятся на мой гаджет через весь мир. А в тумане они будут храниться на моем журнальном столике, кэшируясь автоматически и совершенно незаметно, и молниеносно загружаясь через локальную сеть. Особо эффективны в этом контексте туманные сервисы, поставляющие потоковые услуги (например, онлайновые фильмы) -- в частности, за счёт кэширования фильмов в локальных туманах (вспомните по аналогии локальные файловые «помойки» с терабайтами вареза, некогда существовавшие у каждого провайдера, откуда нужный софт можно было загрузить молниеносно).
- географическая привязка облаков к конкретной области. Даже если ЦОД расположен физически в соседнем доме с моей организацией, которая обрабатывает Большие данные, эти потоки пойдут к ней через всю планету (на 70% -- через каналы Западной Европы и США, контролируемые АНБ))). А туманная технология позволит организовать туманный сервис непосредственно в офисе, который будет связан с ЦОДом практически напрямую, и без дорогостоящей возни с прокладкой оптоволокна.
- существенно упростится эксплуатация и администрирование мобильных устройств - сейчас их количество и нагрузка на них стремительно растёт, а туман позволяет существенно ускорить поставку нужных данных на смартфоны и вести при этом тотальный контроль за их работой и, например, определять местоположение сотрудника в корпоративном тумане с любой точностью.
- важно, что туман начинают внедрять по всей вертикали - от низов до топ-менедмента и от рядовых магазинчиков до крупнейших онлайновых сервисов. Все они крайне заинтересованы в скоростной поставке своих данных интенсивно использующим свои гаджеты пользователям по всему миру, но когда в организации 1-2 ЦОДа, этот процесс превращается в технологический кошмар.
- реальная возможность бесшовной интеграции тумана и облака! Сегодня вполне возможно выделить пользовательские данные, чтобы они «жили» на облачном краю, выделяясь в географически локальные туманы.

Можно ещё сказать так: облака - это нечто, инфраструктурно живущее в ЦОДе. Туман - это нечто, живущее на земле, непосредственно рядом с нами. Кроме того, все специалисты отмечают очень высокую защищённость туманной системы -- из-за сложного процесса распределённой обработки разбитых на кусочки данных огромным количеством узлов.
По большому счету, Туманный компьютинг - это последняя промежуточная стадия между облачными вычислениями и Интернетом вещей, или даже Интернетом Всего (Internet of Everything).

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

Ура! То, о чем так давно боялись спросить большевики, случилось! В след за облачными вычислениями сегодня мы открываем эпоху туманных (fog) вычислений!

Туманные вычисления - и звучит как-то туманно. Попробую в двух словах донести эту парадигму до читателя, невооруженного википедией и гуглом. Для вооруженных же придется сказать, что сие словосочетание уже было испохаблено одним из видов облачных вычислений, которые принципиально ни чем от них не отличаются.

Итак, туманные вычисления. Как нетрудно догадаться, «туман» - это, как и «облако» некоторая связанная распределенная вычислительная мощность. Применим дифференциальный подход к облаку и положим, что вместо одного дискретного узла облака (да, в настоящих облаках нет узлов и в этом кроется вся фальшивость этого термина) в составе: процессор, ОЗУ, ПЗУ, устройства ввода/вывода мы имеем скалярное поле (распределение в объеме плотности) вычислительной мощности, оперативной и постоянной памяти, а также векторное поле потоков данных.

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

Вместе с удешевлением компьютеров подешевели и системы связи. Блютус есть почти везде и я не уверен, что в моих кроссовках его нет. И вот именно сейчас не осталось преград для того, чтоб все эти маленькие слабенькие вычислительные машинки объединились в один большой сиреневый вычислительный туман.

В основе «тумана» лежит «капля» - чип микроконтроллера с памятью и интерфейсом для передачи данных на борту, и чип беспроводной связи типа Mesh (сенсорная сеть). Питание «капля» получает от маленькой батарейки, которой тем не менее хватит на пару лет работы с регулярными перерывами на сон (picoPower от Atmel рулит). К «капле» могут быть подключены устройства ввода (датчики всех мастей, от температуры и напряжения до положения в пространстве и уровня ультрафиолетового излучения) и вывода (светодиоды, жк и лед индикторы, сухие контакты и т.п.) Уже попахивает Скайнетом, не правда ли?

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

Вот такая вот у нас получается штука. Поживем увидим, был ли прав С.Лем в своем «Футурологическом конгрессе» и я в вычислительном тумане?

Программная основа в первую очередь, вероятно, будет включать в себя гипервизор, способный консолидировать мощность «туманной сети» и представлять их как одну многопроцессорную систему. Такой подход в свое время уже использовался в ОС OpenMosix. Запрошенные потребителем (другой «каплей») ресурсы выделятся в виде виртуальной машины, в которой запускается, например, bare-metal Java-машина. В ней развертывается пакет приложения, приложение запускается, и так далее…

Особо стоит упомянуть о роли компьютеров-каплей в качестве «пользовательского терминала» - это единственный сценарий, когда к «капле» подключается какая-то периферия. Мне это видится, как некие устройства оболочки, наподобие SmartDocks от Motorola: оболочка-смартфон, оболочка-планшет, оболочка-ноутбук, оболочка-десктоп. Оболочка-ноутбук и оболочка-десктоп вполне могут вмещать в себя несколько модулей, и таким образом нести многоузловой частный кластер, «облачко тумана». А человек превращается в реальную PAN.

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

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

Наличие высокоэффективных (в Вт/MIPS) SoC распространенной архитектуры (ARM, x86, AMD64) с минимальной обвязкой по экстремально низкой цене ($2 - $10)
- Стандартизация и распространение консолидирующих гипервизоров
- Повсеместное распространение IPv6 и скоростных интерфейсов - как кабельных, так и беспроводных.
- Наличие дешевых и емких источников автономного питания (как минимум на порядок более емких, чем литий-ионные аккумуляторы)

За кадром остались вопросы аутентификации, авторизации, и разделения ресурсов «капли» несколькими «туманными сетями».

Давненько в нашу гавань не заплывали свежие термины из области облачных технологий и ЦОДов. Мир, так или иначе, крутится вокруг всевозможных «as a Service» и так и напрашивается на сакраментальное SaaS — в смысле «Something is a Service». Однако иногда и в облачной богадельне случаются кардинальные новшества, для которых приходится придумывать новую терминологию. Собственно говоря, ещё с лета 2013 года можно было заметить, что набирает популярность новый тренд, к которому мы тогда не отнеслись серьёзно и поэтому особенно расписывать не стали. Звучит он как Fog Computing , или «туманные вычисления». Задача таких вычислений состоит в том, чтобы собрать сервисы, нагрузки, приложения, большие объёмы данных в кучу и объединить все это с сетями нового поколения. Цель — предоставлять данные, вычислительную мощность, память и сервисы на по-настоящему распределённом уровне.

Дело в том, что данные сами по себе сегодня чрезвычайно распределены, они доставляются непрерывно, в больших объёмах и огромному количеству пользователей всевозможных устройств. Чтобы сделать облачную модель эффективной, бизнесу необходимо научиться доставлять контент своим пользователям через географически распределённую платформу, а не через облако, находящееся физически в одном только месте. Таким образом, идея туманных вычислений в том, чтобы распределить данные и сделать их фактически ближе к пользователю, устранить сетевые задержки и всевозможные препятствия, связанные с передачей данных. Пользователям необходимы их данные и приложения в любом месте и в любое время - в этом вся суть облачной модели предоставления услуг. А это означает, что будущее облаков лежит в области уже известной вам идеи Internet of Everything, которую пристально рассмотрел Михаил Ваннах в своём материале « »:

«Итак, самый беглый взгляд скажет нам, что “интернет всего” сохраняет преемственность с более ранними стадиями развития Глобальной сети. В нём, естественно, присутствуют и люди, для которых Сеть и была создана, и вещи, которые представляют сейчас большую часть её населения. И - добавляются две новых категории. Это данные и процессы. Плюс к изначальным связям человека-с-людьми (People to people, P2P) добавляются ещё коммуникации человека-с-машинами (People to machine, P2M) и машин-с-машинами (Machine to machine M2M)… (Это, кстати, говорит и о возросшем “интеллекте” машин: вспомним, в чём суть теста Тьюринга.) Но всё же главное - это данные и процессы».

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

Для того чтобы понять полезность и обосновать необходимость туманных вычислений, попытаемся различить в этом тумане способы использования Fog computing.

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

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

Туманные вычисления также помогают осуществлять действительно качественную работу с мобильными пользователями и внедрять «интернет вещей» как ещё один канал дистрибуции или маркетинга. Администратор вашей инфраструктуры получает доступ к данным о том, откуда и как пользователи получают информацию, насколько быстро это происходит. Это помогает не только улучшить взаимодействие с клиентом, но и сделать его более безопасным. Контролируя данные сразу на всех узловых точках, туманные вычисления позволяют превратить ваш ЦОД в распределённую облачную платформу для конечных пользователей.

Ещё одним плюсом концепции является то, что она вполне реалистична, то есть это не очередной безликий, никому не нужный концепт. Более того, многие компании уже внедряют туманные вычисления, а другие, по сути, давно к ним готовы. Любая компания, доставляющая контент (особенно сложный и объёмный), в принципе может начинать внедрение туманных вычислений. Возьмём, к примеру, Netflix: для этой компании хранение всех данных в паре ЦОДов обозначает полнейшую катастрофу в тот момент, когда все эти данные необходимо будет доставить потребителю. А учитывая количество пользователей сервиса, распределённая доставка данных может сослужить Netflix хорошую службу.

При этом надо понимать, что туманные вычисления - вовсе не замена облачной модели как таковой. Напротив, она продолжает идеи и активно развивает саму концепцию облачных вычислений. Благодаря «каплям» можно изолировать данные в облачных системах и хранить их рядом с пользователем. Если принимать во внимание эту деталь, то появляется понимание того, насколько локализация данных облегчает жизнь тем, кто занимается их распределением. В концепции туманных вычислений облачные технологии многократно усиливают своё позитивное воздействие на экономику предприятия благодаря распределению и локализации данных.