В последние несколько лет организации поняли, что в Больших Данных скрываются важные для них знания, а производители спешно приступили к разработке различных технологий (Hadoop Map/Reduce, Dryad, Spark, HBase), позволяющих эффективно превращать имеющиеся данные в информационный капитал. Это поветрие привело к развитию еще одной технологии – технологии программно-конфигурируемых сетей (Software Defined Networking, SDN).
Большие Данные состоят в основном из неструктурированной информации. И если структурированные данные достаточно просто вписываются в традиционные схемы баз данных, то с неструктурированной информацией дела обстоят сложнее. Возьмем, к примеру, хранилище видео. Если тип видеофайла, его размеры и IP-адрес источника представляют собой структурированные данные, то сам видеоконтент неструктурирован и не вписывается в поля с фиксированной длиной. Ценность Больших Данных аналитики связывают с возможностью поиска и выдачи запросов на обработку неструктурированной информации – например, выделение в видеоролике какого-то конкретного лица из тысяч других с помощью алгоритмов распознавания лиц.
Технологии, призванные решать указанные задачи, обеспечивают скорость и эффективность, которые нужны для параллельного выполнения аналитических операций над Большими Данными. Операции эти проводятся в кластерах, объединяющих сотни тысяч серверов, подключенных к высокоскоростным сетям Ethernet. Процесс извлечения нужных сведений из Больших Данных включает в себя три основных этапа:
- распределение данных между множеством серверных узлов;
- параллельный анализ каждого блока данных;
- объединение полученных результатов.
Операции эти повторяются до тех пор, пока не будет проанализирован весь набор данных.
С учетом природы постоянного разделения-слияния таких параллельных вычислений неудивительно, что анализ Больших Данных превращается в серьезную нагрузку для сетей. Даже при наличии самых быстрых серверов в мире скорость обработки данных – основное узкое место – не может быть выше пропускной способности каналов связи при передаче данных между серверами на первом и третьем этапах (распределения и объединения). Изучение прохождения информации на Facebook показывает, что на передачу данных при переходе от одного этапа к другому тратится 33% общего времени анализа, а при выполнении многих задач на передачу уходит до половины общего времени.
Устранение узких мест в сети обеспечит заметное ускорение анализа Больших Данных, что позволит, во-первых, уменьшить общую стоимость владения для поставщика облачных сервисов, управляющего инфраструктурой, за счет повышения эффективности использования кластера; во-вторых, ускорить выполнение заданий и обеспечить проведение анализа для клиентов, арендующих инфраструктуру, в режиме реального времени.
Для этого нужны интеллектуальные сети, которые на каждом из этапов будут адаптивно менять свои характеристики, с тем чтобы отвечать требованиям к пропускной способности при передаче данных на этапах распределения и объединения. Это приведет не только к увеличению скорости, но и к повышению эффективности использования сети.
Битика Харгария занимает в компании Extreme Networks должность старшего инженера, отвечающего за вертикальные решения и архитектурные разработки.
Роль SDN
Программно-конфигурируемые сети обладают огромным потенциалом для построения интеллектуальных адаптивных сетей и анализа Больших Данных. Благодаря отделению уровня передачи данных от уровня управления, SDN предоставляют хорошо проработанный программный интерфейс для создания сетей, которые будут отличаться высокой гибкостью, масштабируемостью и возможностями настройки, что полностью отвечает требованиям, предъявляемым Большими Данными.
Технологии SDN позволяют настраивать конфигурацию сети по требованию, определяя ее размеры и «форму» с учетом оптимального взаимодействия виртуальных машин друг с другом. Это позволяет решить главный вопрос, с которым приходится сталкиваться приложениям с массовым параллелизмом, обрабатывающим Большие Данные, – добиться приемлемой скорости выполнения операций. Скорость обработки оказывается мала, потому что большинство виртуальных машин, «обслуживающих» приложение Больших Данных, значительную часть времени простаивают в ожидании поступления очередной порции информации. Технологии SDN помогают создавать безопасные маршруты по требованию и варьировать пропускную способность сети, намного сокращая продолжительность ожидания, а следовательно, и общее время обработки данных.
Интеллектуальность программного обеспечения, которая, по сути, заключается в понимании того, что нужно приложению от сети, позволяет очень точно удовлетворять потребности приложений, обрабатывающих Большие Данные. Обусловлено это двумя факторами:
- существованием хорошо приспособленных шаблонов для выполнения вычислений и организации связи, таких как парадигма Hadoop Split-Merge и Map-Reduce;
- наличием структуры централизованного управления, которая обеспечивает прохождение информации на уровне приложения (в качестве примера здесь можно привести Hadoop Scheduler или HBase Master).
С помощью контроллера SDN, осуществляющего глобальный контроль за сетью – ее состоянием, нагрузкой и т. д., программное обеспечение точно формулирует потребности приложения, программируя сеть по требованию.
Программно-конфигурируемые сети предлагают и другие функции, помогающие организовать управление, интеграцию и анализ Больших Данных. Новые сетевые протоколы, ориентированные на SDN, в том числе OpenFlow и OpenStack, упрощают управление сетью, повышая ее интеллектуальность и уровень автоматизации. Технология OpenStack позволяет создавать и настраивать конфигурацию элементов сети при минимальном участии человека, а OpenFlow повышает уровень сетевой автоматизации, обеспечивая дополнительную гибкость в современных условиях все более широкого использования личных устройств на рабочем месте и ужесточения требований к безопасности и производительности приложений.
Технологиям SDN отводится важная роль при разработке сетевой инфраструктуры для Больших Данных, упрощении рационального управления тысячами коммутаторов, а также обеспечении интероперабельности продуктов различных поставщиков. Независимый от конкретного производителя протокол OpenFlow работает с устройствами любых поставщиков, поддерживающими OpenFlow, и позволяет добиться нужной интероперабельности, освобождая организации от проприетарных решений, которые замедляют процесс превращения Больших Данных в информационный капитал.
По мере того как мощь и потенциал Больших Данных становятся все более очевидными, подготовка сети к дальнейшему масштабированию с учетом новых требований превращается в важнейший фактор успеха в долгосрочной перспективе. Понятно, что для создания успешного решения необходимо выполнение двух ключевых условий – наличия шаблонов в приложениях Больших Данных и возможности конфигурировать сети. И здесь технологии SDN играют все более важную роль, обеспечивая дальнейшую адаптацию сети к новым требованиям, увеличение ее пропускной способности, поиск знаний и внедрение инноваций.