Edge computing (дословно можно перевести как "граничные вычисления") - это сетевая философия, основанная на том, что вычисления должны совершаться как можно ближе к источнику сырых данных. Цель сего действа в сильном сокращении задержек и ширины канала связи. Если говорить проще, то edge computing - это когда меньше всякой всячины вычисляется к облаке или ЦОДе, и больше вычисляется непосредственно на месте - то есть на локальном ПК, IoT устройстве или на граничном сервере. Таким образом сокращается необходимость поддерживать в требуемом состоянии дорогостоящие каналы связи (представьте себе, что для вычислений отправляете очень объемную информацию - к примеру, видео высокой четкости)
Что такое граница сети?
Для устройств, подключенных к сети Интернет, границей будет точка, где это устройства непосредственно подключается к Интернету. Конечно, определение экстремально размытое; к примеру, компьютер пользователя или процессор внутри IoT камеры могут быть теми самыми точками, однако, сетевой маршрутизатор также вполне попадает под это определение. Но важно одно: граница будет гораздо ближе к устройству (с географической точки зрения), нежели к облачным серверам.
Приведем пример edge computing-а
Представим себе некое здание, в котором понаставили десятки IoT камер очень высокого разрешения. Эти камеры относительно безмозглые, т.к они просто отдают сырой видеосигнал на облако. Облако, в свою очередь, пропускает весь этот сырой видео трафик через приложение, которое умеет определять движение, чтобы хранить только максимально полезную информацию. Представьте себе требованию к Интернет-каналу в таком случае: ежесекундно передаются мегабайты информации, и к тому же получается высокая нагрузка на облачные сервера, которые занимаются вычислениями - они обязаны обрабатывать все эти огромные объемы информации.
А теперь представьте себе, что сервер, определяющий движение был помещен на границу сети (той самой, в которой находится наше воображаемое здание). Что если каждая камера будет использовать свои собственные вычислительные мощности для запуска там приложения, которое будет определять движение? Очевидно, тогда в облако будет уходить только "полезный" трафик. Кроме того, на облачные сервера ляжет только задача по хранению важной информации, что де-факто означает возможность этого облака поддерживать связь с гораздо большим количеством камер без перегрузки. Вот примерно так и выглядит пример edge computing.
Преимущества концепции edge computing
Как видно в примере выше, данный концепт позволяет минимизировать загрузку Интернет-канала и нагрузку на вычислительные мощности облака. Полоса пропускания и вычислительные мощности, к сожалению, конечны и стоят реальных денег. С каждым зданием и офисом, которые будут оборудованы "умными" камерами, принтерами, термостатами и даже тостерами, аналитики предсказывают, что к 2025 году в мире будет установлено 75 миллиардов IoT устройств. Чтобы все эти устройства корректно работали, большой процент вычислений должен быть перенесен на edge-и.
Следующее преимущество - это снижение задержки. Каждый раз, когда устройство пытается подключиться к какому-нибудь удаленному серверу, появляется задержка. Гипертрофированный пример: когда двое коллег в одном офисе чатятся в аське, они могут почувствовать сильную задержку, так как каждое сообщение "улетает" во внешний мир, подключается к некому очень удаленному серверу и также возвращается обратно в эту сеть. Если бы весь этот процесс происходил на границе сети, то эта задержка могла бы быть значительно снижена.
Также, когда пользователи используют тонны веб-приложений, которые постоянно подключаются к внешним серверам, они могут чувствовать эти самые задержки. Длительность задержек будет зависеть от того, какова их полоса пропускания и где находятся сервера, но этих задержек можно легко избежать. Правильно, если воткнуть все эти сервера на границу этой сети.
Если подытожить, то общие плюсы этого концепта таковы:
- Снижение задержек
- Снижение затрат путем использования более дешевых каналов связи
- Снижение затрат путем уменьшения нагрузки на удаленные вычислительные ресурсы
Минусы данного подхода
На мой взгляд, есть два основных минуса: первый - это сильное увеличение сложности устройств и повышенный риск компрометации этих устройств - по сути, даже банальный термостат становится полноценным компьютером, который, как мы все знаем, может быть легко подвергнут взлому. Кроме того, из-за увеличения сложности устройств и повышения их вычислительной мощности серьезно возрастает их стоимость. Однако очевидно, что технологии шагают семимильными шагами - компьютер 30 лет назад был в тысячи раз слабее современного смартфона, а стоили они гораздо дороже.