Термин Cloud Networking (облачные сетевые технологии) был предложен компанией Arista Networks, которая предприняла попытку утвердить его в качестве собственной торговой марки, но в последующем от этой идеи пришлось отказаться.

Arista была создана в 2004 году и первые четыре года занималась созданием операционной системы IOS, позже переименованной в EOS (Extensible Operating System). Основателем, а теперь еще и ее техническим директором и руководителем разработок этой компании является Энди Бехтольсхайм — один из членов четверки, в свое время создавшей Sun Microsystems. Энди не только гениальный инженер, на счету которого множество разработок, начиная с рабочей станции Sun 1, но к тому же и весьма удачливый предприниматель. Хорошо известен один из фактов в его биографии: к нему за первоначальным капиталом обратились Ларри Пейдж и Сергей Брин — именно на средства Бехтольсхайма была основана Google. В целом об его успешности как предпринимателя свидетельствует многолетнее пребывание в первой десятке так называемого списка Мидаса, составляемого журналом Forbes и включающего наиболее удачливых людей, преуспевших на ниве венчурных инвестиций. Однако многомиллиардное состояние не мешает Бехтольсхайму заниматься любимым делом — разработкой нового оборудования. Не менее интересно, что на пост генерального директора была приглашена Яшри Уллал, занимавшая до этого высшие посты в Ciscо и признанная одним из самых успешных менеджеров в отрасли. Показательно также, что в компании, которая сейчас насчитывает чуть более сотни человек, есть пост главного ученого, и занимает его профессор Стэнфордского университета Дэвид Черитон. Основатель нескольких компаний, он, как и Бехтольсхайм, нажил большое состояние на венчурных проектах. Состав руководства явно указывает на то, что создание Arista ("превосходная" в переводе с греческого) следует рассматривать в качестве весьма серьезной заявки.

Выступая на Interop, одной из важнейших конференций в компьютерном мире, Уллал заявила: "Деятельность Arista полностью сфокусирована на ЦОД, мы не намереваемся делать то, что производят другие в расчете на корпоративные сети. Такая специализация дает очевидные преимущества — наши продукты имеют не менее чем пятикратное превосходство по производительности, а системы потребляют на порядок меньше энергии, чем аналоги".

Концентрация компании на решении проблем, возникающих у крупных поставщиков сетевых услуг, вполне объяснима — принципы проектирования сетей в используемых Arista ЦОД заметно отличаются от того, как проектируются традиционные корпоративные сети. Во-первых, совершенно иные масштабы: у крупных поставщиков контента количество серверов измеряется сотнями тысяч, а в корпоративных частных облаках серверов во много раз меньше, и эти облака сохраняют наследие существующих корпоративных систем. Можно провести параллель со строительством, в одном случае — по типовым проектам из крупных блоков, а в другом — из кирпичей и по индивидуальным проектам. То и другое имеет право на существование, например крупноблочные ЦОД имеет смысл сооружать в местах, приближенных к источникам электроэнергии. Во-вторых, в облаках изменяется отношение к стеку стандартов, и в ряде решений, особенно при контейнерной сборке, имеет смысл отказаться от семиуровневой модели открытых стандартов OSI. Новый стек стандартов (New Cloud Stack, см. Таблицу) отличается от стека OSI, имеющего строгие границы и интерфейсы от Layer 1 до Layer 7, тем, что уровни Layer 2/3/4 объединяются, а при готовой сборке не требуется открытости, но зато могут быть существовавшие прежде уровни.

В этом стеке все коммуникации собраны на одном уровне, функциональность которого обеспечивается решением Arista Cloud Networking, реализующим:

  • масштабируемость (коммуникационная среда должна быть такой, чтобы ни при каких условиях не стать узким горлом, даже тогда, когда придется передавать триллионы пакетов в секунду);
  • малую величину задержки (независимо от размеров сети задержка должна быть гарантированно ограничена микросекундами для обеспечения должного качества выполнения приложений и загрузки серверов);
  • гарантированную производительность (cloud networking поддерживает предсказуемую производительность на большом числе разнообразных приложений, в том числе мультимедийных);
  • способность к самовосстановлению.

Первым продуктом компании, представленным на рынок, стал коммутатор Arista 7048, имеющий 48 портов 100/1000BASE-T и четыре 1/10GbE SFP+ со скоростью передачи 40 Гбит/с. В нем объединены уровни коммутации со второго по четвертый и реализована неблокирующая синхронизация. В полном объеме идеология Arista Cloud Networking воплощена в коммутирующей платформе Arista 7500, имеющей наивысшую производительность из всех современных решений, поддерживающих 10 Gigabit Ethernet. В Arista 7500 имеется 384 порта, к которым можно подключать серверы и накопители iSCSI, поддерживается коммутация на втором и третьем уровне; скорость передачи — 5,76 млрд пакетов в секунду. На Arista 7500 работает операционная система EOS.

В Arista 7500 реализован виртуальный выход очередей Virtual Output Queueing (VOQ), поддерживающий раздельные очереди для каждого физического выхода, что исключает возможность столкновения и взаимных блокировок потоков данных. Благодаря VOQ удается использовать всю потенциальную производительность коммутатора. Помимо этой технологии в Arista 7500 имеется еще несколько особенностей. Наличие буферов только на выходе обеспечивает минимальную задержку. Скорость коммутации Arista 7500 VOQ составляет 1,25 Тбит/с, что дает потенциал для увеличения скорости работы портов до 40 Гбит/с и 100 Гбайт/с. Распределение потоков на входе с использованием VOQ открывает возможность для масштабирования.

Особенность сетевой инфраструктуры крупных облачных ЦОД заключается в том, что она должна обеспечивать масштабирование внешнего трафика (network traffic) и трафика между серверами и системами (storage traffic), автоматизацию интеграции оборудования в состав ЦОД и высочайшую надежность. Для всего этого необходимы специализированные сетевые операционные системы, работающие на коммутаторах. Главное их отличие от обычных серверных ОС в том, что они не могут быть монолитными. В обычных ОС нет механизма защиты на случай обнаружения ошибки в одном из работающих экземпляров, и ошибка в одном может привести к выходу из строя всей системы в целом. Отсутствие достаточной изолированности между задачами препятствует масштабированию, к тому же монолитность не позволяет внедрять специальные средства управления оборудованием.

Примеров специализированных сетевых операционных систем немного, и обычно такие ОС работают на мощных маршрутизаторах, например, JUNOS от Juniper Networks и Cisco IOS. Arista предложила свою операционную систему EOS, в которой реализованы следующие функции:

  • обновление в процессе эксплуатации (In-Service Software Upgrade), сокращающее размер окон, необходимых для сервисного обслуживания оборудования;
  • защита от программных ошибок (Software Fault Containment), ошибки не распространяются за пределы отдельных модулей, что обеспечивает общую стабильность системы;
  • развитая система восстановления после сбоев (Stateful Fault Repair), осуществляющая постоянный мониторинг состояния и невидимое восстановление;
  • повышенная безопасность (Security Exploit Containment) благодаря ограничению области потенциальной уязвимости рамками одного модуля;
  • масштабируемый интерфейс управления (Scalable Management Interface), позволяющий автоматизировать процесс администрирования, обновления и интеграции средств мониторинга сторонних производителей.

Эти возможности Arista EOS вытекают из особенностей архитектуры (см. рисунок), получившей название Unique Multi-Process State Sharing Architecture — "архитектура со множеством разделяемых процессов". В этой архитектуре состояние сети отделено от работы процессов, что позволяет без нарушения работоспособности системы в целом осуществлять восстановление после сбоев, обновление ПО и средств обеспечения безопасности, а также выполнять другие операции. В дополнение к этому протокол процесса, функции управления и даже драйверы устройств могут работать не в ядре, а в пользовательском адресном пространстве. В результате существенно повышается стабильность работы ядра (стандартное ядро Linux) и открывается возможность для расширения функциональности ОС. Таким образом EOS может стать средством, обеспечивающим надежность коммуникаций в ЦОД при сохранении всех преимуществ Linux, таких как безопасность, стабильность, открытость и возможность расширения.

Рисунок. Архитектура EOS

Ключевым компонентом EOS служит центральный репозиторий состояния — база данных Sysdb (system database), — благодаря которому все основные функции выполняются в раздельных адресных пространствах, включая стандартные CLI (Configuring Aggregated Ethernet) и LACP (Link Aggregation Control Protocol), а также драйверы устройств. Sysdb хранит состояние, а подключенные агенты и драйверы осуществляют обработку. Адресное пространство Sysdb используется только для хранения состояния, передаваемого агентам. Хотя агенты и сами могут содержать состояние, его всегда можно восстановить из репозитория Sysdb, который является абсолютно надежным источником данных (в нем не содержатся исполняемые коды), а практические процедуры выполняются вне ядра. В Linux проще и безопаснее запустить еще один процесс, чем делать дополнения на уровне ядра.

К числу достоинств EOS следует отнести также необходимую большим системам способность к автономному восстановлению (self-healing). В случаях, когда используются монолитные системы, требуемая при сбоях перезагрузка может занять десятки секунд или даже минуты, а для EOS менеджер процессов может перезапустить агента немедленно, без всякой задержки.


Таблица. Стек стандартов для облаков

Уровень Состав
Приложения SааS, PааS, Web-приложения, специальные приложения
Операционная система Любая операционная система клоны UNIX, Windows
Гипервизор ESX, Hyper-V, KVM, XVM
Серверы Любые серверы, не имеющие состояния (Bare-Metal Stateless)
Системы хранения данных Network Attached File Storage
Сетевые технологии Cloud Networking