С течением времени понятие "Интернет вещей" охватывает все больше и больше вещей. Помимо того, что в них встроены внутренние датчики и процессоры, эти вещи также напрямую подключены к сети, передавая свои данные в режиме онлайн. Хотя домашняя автоматизация может быть "основным" вариантом использования этой концепции, если, например, в холодильнике закончится молоко, он автоматически закажет его в продуктовом магазине. Но на самом деле сфера применения IoT становится все шире и шире. У нас будет много вещей, которые взаимодействуют друг с другом, но не зависят друг от друга, офисы будут автоматически заказывать канцелярские товары, когда это необходимо, без нашего вмешательства, и даже датчики на нашей одежде и теле будут передавать данные о нашем здоровье нашим врачам в режиме реального времени. Такой тип связи M2M (machine-to-machine) является ключевым.
Чтобы реализовать все потенциальные преимущества IoT, основой для него должны стать облачные вычисления. Идея Интернета заключается в том, что большая часть собранных данных должна передаваться в режиме онлайн, чтобы приложения могли эффективно собирать, анализировать и использовать эти данные. Теперь давайте вернемся к примеру с холодильником. В этом примере вместо того, чтобы холодильник сам заказывал молоко в продуктовом магазине, он передает все свои данные, включая текущие запасы продуктов и их потребление пользователем, в приложение, которое затем считывает и анализирует их. Решение о покупке принимается на основе таких факторов, как текущий бюджет на питание пользователя и время, которое потребуется для доставки молока, и облако - идеальный дом для таких приложений.
Если бы все наши повседневные продукты были оснащены таким оборудованием, объем генерируемых данных был бы огромным. Поэтому для IoT необходимо продумать, как хранить и анализировать генерируемые данные. Речь идет не только о количестве данных, но и о скорости их получения. Датчики генерируют все больше и больше данных быстрее, чем большинство коммерческих приложений успевают их обрабатывать.
Облачные решения являются основой для решения проблем, связанных с объемом и скоростью создания данных. Облако может автоматически и динамически предоставлять ресурсы хранения в соответствии с нашими потребностями без ручного вмешательства. Облако также дает нам возможность доступа к виртуальным хранилищам через облачные кластеры баз данных или виртуализированные физические хранилища, которые могут регулировать емкость без простоев, а также возможность доступа к большим пулам ресурсов хранения, что невозможно на локальном уровне.
Второй вопрос, связанный с этими данными, - что с ними делать. В этой проблеме есть две трудности. Первая сложность заключается в том, как обработать все точки данных, полученные от каждого объекта в режиме реального времени. Вторая сложность заключается в том, чтобы извлечь полезную информацию из всех имеющихся точек данных и соотнести информацию, полученную от различных объектов, чтобы придать реальную ценность хранимым данным.
Хотя обработка данных в реальном времени может показаться простой - получить данные, проанализировать их, а затем использовать - в реальном времени это не так. Давайте вернемся к примеру с холодильником. Представьте, что каждый раз, когда кто-то открывает дверцу холодильника, холодильник посылает пакет данных. В этих пакетах данных содержится информация о том, что было перемещено и что было положено. Давайте подсчитаем, что в мире около 2 миллиардов холодильников, а дверца холодильника открывается и закрывается 4 раза в день, поэтому за день будет сгенерировано 8 миллиардов пакетов данных, что в среднем составляет около 100 000 пакетов данных в секунду. Такой объем поражает воображение. Хуже того, эти данные могут быть сконцентрированы в характерное время суток (в основном утром и вечером). Если мы подготовим вычислительные мощности исходя из максимальной нагрузки, то много инфраструктуры будет потрачено впустую.
После обработки данных в реальном времени мы столкнемся со второй трудностью - как извлечь из них полезную информацию, вывести их на более высокий уровень и перестать быть личными делами. Для вас лично было бы здорово, если бы ваш холодильник мог автоматически делать за вас заказ в продуктовом магазине, но что если производитель будет знать, что холодильники из определенных регионов имеют склонность к перегреву или что холодильники, хранящие определенные продукты, слишком быстро изнашивают свой срок службы? Тогда это будет иметь большее значение для производителей. Чтобы извлечь подобную информацию из хранящихся данных, необходимо использовать существующие решения для работы с большими данными (а также те, которые появятся в ближайшее время).
Облачные вычисления идеально подходят для решения этих проблем. В первом случае можно динамически распределять (и восстанавливать) вычислительные ресурсы, что позволяет приложениям, которым необходимо анализировать данные из холодильника в режиме реального времени, справляться с огромными объемами данных и оптимизировать затраты на инфраструктуру. При решении второй проблемы облачные вычисления могут сотрудничать с решениями для работы с большими данными.
В общем, Интернет вещей может изменить общую архитектуру облачных вычислений, но в то же время облачные вычисления имеют решающее значение для достижения этих изменений. Что касается виртуализированных вычислительных ресурсов, то, хотя приложения могут динамически распределять эти ресурсы без ручного вмешательства, облачные вычисления не получат никакого развития, если это будет так. Ведь Интернет вещей - единственная движущая сила их развития.