Когда речь идет о сравнении облачных и периферийных вычислений, основное внимание уделяется тому, где происходит обработка данных. В настоящее время большинство существующих систем интернета вещей (IoT) выполняют все свои вычисления в облаке, используя массивные централизованные серверы. В результате, низкоуровневые исполнительные устройства, а также устройства шлюза, которые имеют несколько больше ресурсов для хранения и обработки данных, используются в основном для объединения данных и выполнения умеренной обработки.
Периферийные вычисления предлагают совершенно другой подход: они перемещают большинство этих процессов – от вычислений до хранения данных в сети - от централизованного центра обработки данных, ближе к конечному пользователю. Согласно исследованию IDC (аналитическая компания, которая исследует рынки информационных технологий и телекоммуникаций), к 2020 году 45% всех данных, генерируемых устройствами интернета вещей, будут храниться, обрабатываться на пограничных сегментах сети или около них.
Почему облачных вычислений недостаточно?
В настоящее время, когда мы используем и обрабатываем достаточное количество данных, облачные вычисления не являются лучшим вариантом для приложений с задержкой и интенсивными вычислениями. Когда вы вычисляете и анализируете все данные в облаке, вы неизбежно сталкиваетесь с двумя проблемами: увеличенной задержкой и ненужными ресурсами децентрализованных центров обработки данных, облачных хранилищ и мобильных периферийных устройств, расположенных на пограничном сегменте сети.
Это особенно заметно на примере Интернета вещей: возрастает количество интеллектуальных устройств. Вот некоторые прогнозы того, как быстро эта отрасль будет развиваться к 2020 году:
- Исследовательская и консалтинговая компания Gartner прогнозирует, что к 2020 году количество подключенных устройств достигнет 20,8 миллиардов, для сравнения в 2016 году их было 6,4 миллиардов.
- Компания IDC считает, что в 2020 году общая установленная база устройств интернета вещей достигнет 28,1 миллиарда. В то же время компания прогнозирует, что к тому же времени 67% корпоративной инфраструктуры информационных технологий и программного обеспечения будут использоваться для обслуживания облачных предложений.
- Английское аналитическое агенство IHS Markit утверждает, что к 2020 году общая установленная база устройств интернета вещей вырастет до 30,7 миллиардов по сравнению с 15,4 миллиардом устройств в 2015 году.
Основная проблема заключается в том, что все эти устройства генерируют большие объемы данных, но не обрабатывают её. Вместо этого они отправляют всю эту информацию в облако, что приводит к чрезмерной нагрузке как центров обработки данных, так и сетей. Увеличение задержки является большой проблемой для интернета вещей и мобильных устройств виртуальной реальности.
Выполнение вычислений рядом с источником данных может помочь снизить общую зависимость вашего сервиса или облачного приложения и ускорить процесс обработки данных.
Что такое периферийные вычисления?
Итак, что же такое периферийные вычисления и чем они отличаются от облачных вычислений? Основная разница между такими вычислениями связана с тем, что принципы периферийных вычислений предлагают более децентрализованную архитектуру, в которой большинство процессов выполняются на самих устройствах. Вместо одного централизованного центра периферийные вычисления используют сетчатую сеть меньших центров обработки данных, которые могут хранить и локально обрабатывать данные на пограничном сегменте сети.
Существует две формы периферийных вычислений:
- Кромка облака, когда общедоступное облако расширено до нескольких точек присутствия
- Периферийное устройство, когда программный стек подражает облачным сервисам, работающим на соответствующем оборудовании.
Основное различие между этими двумя формами заключается в их внедрении и моделях ценообразования. Поскольку кромка облака – это просто расширенная форма традиционной облачной модели, поставщик облачных услуг отвечает за всю инфраструктуру. Периферийное устройство встроено в оборудование клиента, что позволяет выполнять обработку запросов в режиме реального времени.
Существует три способа внедрения периферийных вычислений:
- Туманные вычисления – децентрализованная вычислительная инфраструктура, в которой все данные, хранилища и вычислительные приложения распределены наиболее эффективным образом между облаком и конечными устройствами
- Мобильные периферийные вычисления – архитектура, которая приближает вычислительные и накопительные возможности облака рядом с краевым сегментом мобильной сети
- Клаудлет (единица измерения ресурсов в системе облачного хостинга) - инфраструктура, использующая небольшие центры обработки данных для разгрузки центральных центров обработки данных и приближения облака к конечным пользователям
Периферийное вычисление открывает новые возможности для приложений интернета вещей, которые полагаются на машинное обучение, повышая скорость работы для обработки речи, распознавания лиц, преодоления препятствий и других задач. Кроме того, это помогает снять часть нагрузки с основного центра обработки данных и сети, уменьшая общий объем централизованной обработки.
В каких областях можно использовать периферийные вычисления?
Ниже мы приведем несколько примеров периферийных вычислений и перечислим области, в которых будет разумно переместить вычислительные процессы на сетевую периферию:
- Умные дома и города (или – автоматизация процессов в доме и городе). С постоянно растущим числом датчиков умные города не могут полагаться только на облачные вычисления. Обработка и анализ информации ближе к источнику данных сможет помочь сократить время задержки в умных городах и в государственных службах, требующих быстрого реагирования, таких как правоохранительные органы и медицинские бригады
- Умный транспорт (или – интеллектуальная система транспорта). Периферийное вычисление позволяет отправить всю информацию локально, обрабатывая и отправляя в облако только самые важные данные. Эта технология уже используется для улучшения качества как коммерческих, так и общественных интеллектуальных транспортных систем. Это также помогает повысить безопасность и эффективность поездок путем подачи местной информации в более крупные и доступные сетевые системы.
- Беспилотные самолеты и дистанционно управляемая техника. Когда самоуправляемый автомобиль должен реагировать на полученные данные, даже малейшая задержка может привести к потенциально опасной ситуации. Перемещение вычислений ближе к источнику данных позволяет значительно сократить время задержки и повысить качество обслуживания.
Преимущества и недостатки периферийных вычислений
Конечно, переход от облачных вычислений к периферийным вычислениям имеет свои преимущества и недостатки. Ниже мы перечислим наиболее актуальные преимущества и недостатки использования периферийных вычислений в работе.
Преимущества периферийных вычислений
Уменьшение задержки является наиболее важным преимуществом выполнения вычислений на пограничном сегменте сети. Сокращение времени задержки особенно важно для предложений, требующих немедленного ответа. В результате периферийные вычисления, подключенные в приложениях, становятся более быстрыми и надежными.
Предотвращение перегрузки сети и центра подготовки данных путем обработки данных в начальной точке. Вместо того, чтобы создать процесс перехода данных «устройство-облако – устройство» в обе стороны, вы можете снять нагрузку с обоих центров обработки данных и сетей. Загрузка считается более масштабируемой относительно конечных точек, поскольку пропорционально возрастают вычислительные ресурсы. Для приложений, использующих машинное обучение или технологию компьютерного зрения особенно важно устранить цикл обработки данных в облаке или в централизованном центре обработки данных.
Увеличение резервирования и доступности для предприятий. Когда выполняются периферийные вычисления, любое возможное нарушение может быть ограничено одной точкой в сети, а не всей системой, как в случае с облачными вычислениями.
Более низкие затраты на управление и подключение. Когда вы отправляете только значимую информацию вместо ненужных обработанных данных датчиком и отправляете ее только на небольшие расстояния, это экономит много сетевых и вычислительных ресурсов.
Недостатки периферийных вычислений
Обработка больших объемов данных - периферийные вычисления имеют строго ограниченную емкость для хранения и обработки огромных наборов информации, так как все вычисления происходят на пограничных узлах, которые имеют свои ограничения.
Обработка данных в режиме реального времени. Хотя уменьшение задержки является одной из основных целей реализации периферийных вычислений в первую очередь, обеспечение обработки данных в реальном времени на практике может быть проблемой. Подключение большого числа конечных устройств затрудняет для пограничных узлов высококачественную обработку данных в реальном времени. Кроме того, увеличение количества данных может привести к перегрузке сети и снижению производительности некоторых приложений.
Программирование. Большинство программ в облаке составляются для конкретной целевой платформы и написаны на одном языке программирования. Но в периферийных вычислениях вычислительные процессы выполняются на разных платформах, и среда выполнения может отличаться для каждой из них. В результате написание программы для приложения, которое может быть развернуто в граничной вычислительной среде, является сложной задачей.
Наименование - пока нет стандартизированного механизма наименования для принципа периферийных вычислений, поэтому вам может потребоваться изучить различные сетевые и коммуникационные протоколы, чтобы взаимодействовать со многими различными вещами в вашей системе.
Хотя традиционные методы наименования, такие как унифицированный идентификатор ресурса (URI) и система доменных имён (DNS), удовлетворяют большинству текущих сетей, эти механизмы недостаточно удобны для обслуживания динамической периферийной сети. Кроме того, сложный механизм наименования на основе IP может быть слишком тяжелым для поддержки элементами, ограниченными ресурсами, на пограничном сегменте сети. Вместо DNS можно использовать новые механизмы наименования, такие как Mobility First и Названная сеть передачи данных (NDN).
Система показателей оптимизации - распределение рабочей нагрузки становится серьезной проблемой в периферийных сетях, поскольку существует много уровней с различными вычислительными возможностями.
Сочетание интеллектуального восприятия и действия - разработка эффективного метода планирования вычислительных задач и их разделение между различными граничными узлами также является сложной задачей. Кроме того, вам нужно знать, способен ли конкретный пограничный узел выполнить необходимые вычисления, вам также необходимо убедиться, что производительность узла не будет зависеть от этого.
Облегченная база данных и ядро - поскольку возможности периферийных узлов ограничены, могут быть дополнительные ограничения на совместимость программного обеспечения. Поэтому предпочтительнее использовать менее ресурсоемкие, облегченные базы данных и программное обеспечение для периферийных вычислений.
Конфиденциальность и безопасность. Существует много проблем с обеспечением конфиденциальности и безопасности данных в периферийных вычислениях. Одна из этих проблем заключается в том, что конечные устройства более уязвимы для атак, чем централизованный центр обработки данных. В следующем разделе мы более подробно рассмотрим эту проблему.
Вопросы вычислительной безопасности
Когда дело доходит до периферийных вычислений и информационной безопасности, есть две совершенно противоположные точки зрения. С одной стороны, хранение, обработка и анализ конфиденциальной информации вблизи источника, вместо отправки по сети, поможет улучшить базу данных. С другой стороны, существует вероятность того, что конечные устройства будут еще более уязвимы для взлома, чем сеть централизованных центров обработки данных.
В результате при построении решения периферийных вычислений необходимо обратить особое внимание на обеспечение защиты всей системы. Управление доступом, шифрование данных и туннелирование (использование виртуального канала передачи инкапсулированных данных) виртуальной частной сети могут помочь защитить систему.
Основной проблемой при разработке надежного легкого решения для обеспечения безопасности является разнообразие областей, где можно применить периферийные вычисления. В общем, существует три основных проблемы безопасности в периферийных вычислениях:
Создание эффективного механизма аутентификации - предоставление доступа к пограничным вычислительным службам только авторизованным конечным пользователям, имеет решающее значение для предотвращения входа незарегистрированных узлов. Проблема в том, что стандартные решения, применимые в облаке, не могут использоваться на периферии сети из-за существенной разницы в мощности, хранении и возможностях обработки конечных устройств.
Защита от вредоносных атак – периферийная вычислительная среда уязвима для различных типов вредоносных атак, таких как фальсификация, вторжения и отказ в обслуживании (DoS). Поэтому для обеспечения защиты сетевых возможностей необходимо принять надлежащие методы безопасности.
Обеспечение конфиденциальности конечных пользователей - поскольку конфиденциальные данные могут собираться пограничными узлами, необходимо обеспечить защиту таких данных. Кроме того, привычные действия пользователей могут быть выявлены противником путем анализа использования пограничных служб.
Также имейте в виду, что большинство устройств конечных пользователей имеют ограничения из-за их аккумуляторов. В результате необходимо выполнять простые решения для обеспечения безопасности и конфиденциальности.
Требования по внедрению периферийных вычислений
Существует несколько требований для обеспечения качественного внедрения модели периферийных вычислений:
- Масштабируемость
- Надежность
- Управление ресурсами
- Совместимость
- Безопасность
Далее мы рассмотрим подробно каждое из этих требований.
Масштабируемость
Периферийные вычисления должны обеспечивать стабильную производительность даже при значительном увеличении числа конечных устройств и приложений. Это может быть достигнуто путем добавления новых точек обслуживания и, следовательно, расширения периферийных вычислений географически, путем добавления новых узлов обслуживания в существующую сеть. Вы также можете использовать облачное взаимодействие и сделать свою модель периферийных вычислений как независимое «мини-облако».
Надежность
Надежность является одной из основной проблем, о которых нужно думать при перемещении вычислений на пограничный сегмент сети. Надежные периферийные вычисления обеспечивают отказоустойчивость механизмов для различных случаев, от отказа на отдельном узле до отказа всей пограничной сети и сервисной платформы во время отключения сети.
Необходимо реализовать протоколы, подобные поиску пути к информации, чтобы гарантировать, что вы можете найти доступный сервис в случае сбоя. Кроме того, необходимо последовательно создавать резервные копии важных сведений, таких как данные сеанса клиента, которые хранятся на периферийных устройствах, чтобы их можно было восстановить в случае сбоя устройства или сети. Также, в отличие от облачных вычислений, вы не можете сразу добавить новые узлы в существующую инфраструктуру периферийных вычислений.
Однако, можно повысить надежность модели периферийных вычислений, реализовав следующие методы:
- Пересмотреть невыполненные задания
- Создать контрольные точки путем периодического сохранения состояния пользовательских служб и конечных устройств
- Копирование периферийных серверов и мини-центров обработки данных в нескольких географических положениях.
Управление ресурсами
Создание модели эффективного управления ресурсами – ещё один важный вопрос, который входит в принципы периферийных вычислений. Периферийные вычисления требуют принятия многоуровневых методов управления ресурсами, которые могут применяться на уровне периферийной сети, а также совместно с удаленными поставщиками облачных услуг и периферийными сетями.
Такие технологии, как виртуализация сетевых функций(NFV) и программно-определяемая сеть (SDN), могут быть полезны для облегчения мониторинга и управления периферийными ресурсами.
Совместимость
Одним из важных требований эффективности периферийных вычислений – это обеспечение совместимости с различными периферийными устройствами. Поэтому в периферийных вычислениях необходимо определить совместимость с устройствами как для приложений, так и для обмена данными между пользователями. Необходимо также разработать стандартные протоколы, применимые ко всем устройствам в сети.
Безопасность
Безопасность в периферийных вычислениях характеризуется двумя пунктами:
- Изоляция путей данных и памяти
- Обеспечение защиты периферийных устройств от злоумышленников
В то время как облачные вычисления обеспечивают изоляцию данные с помощью виртуальных устройств, в периферийных вычислениях необходимо определить изолированную среду для пользовательских приложений, чтобы наблюдать за использованием ресурсов и обеспечить изоляцию конфиденциальной информации. Виртуализация сетевых функций является одним из возможных решений проблемы. Эта концепция может применяться к узлам сети для обеспечения защиты доменов пользователей. Но поскольку виртуализация сетевых функций только начинает внедряться, не все сетевые поставщики придерживаются стандартов виртуализации.
Заключение
Некоторые эксперты считают, что периферийные вычисления могут полностью заменить облачные вычисления, но эти вычисления скорее дополняют друг друга, чем заменяют. При совместном использовании облачные и периферийные вычислительные архитектуры позволяют предприятиям более эффективно хранить и обрабатывать данные.
Кроме того, многие предприятия уже используют гибридную архитектуру для повышения производительности и удовлетворенности клиентов. Облачные вычисления остаются одним из лучших способов безопасного резервного копирования и хранения большого объема данных. Его также можно эффектно использовать в процессе обработки данных, не критичных по сроку выполнения. Выполнение вычислений в распределительных центрах обработки данных или самих устройствах представляется лучшим решением для операций, требующих более быстрой обработки данных.