2 заметки с тегом

Apple

Nokia представила сетевую операционную систему SR Linux для маршрутизаторов

Компания Nokia представила новую сетевую операционную систему Service Router Linux (SR Linux), ориентированную на использование в сетевой инфраструктуре центров обработки данных и облачных окружений. SR Linux рассматривается как ключевой компонент решений Nokia Data Center Fabric и будет устанавливаться на маршрутизаторы линейки Nokia 7250 IXR и 7220 IXR. Решение на базе SR Linux уже проходит тестирование в новом датском датацентре компании Apple.

В отличие от других ОС для сетевого оборудования на базе ядра Linux в SR Linux сохранена возможность доступа к лежащему в основе платформы Linux-окружению, которое не скрыто за специализированными API и интерфейсами. Пользователи имеют доступ к немодифицированному ядру Linux и базовым системным приложениям (bash, cron, Python и т. п.), а специфичные приложения создаются при помощи инструментария NetOps Toolkit, не привязанного к определённым языкам программирования. Приложения на базе NetOps Toolkit, например, реализации протоколов маршрутизации, получают доступ к различным сетевым API, но функционируют как независимые компоненты.

Подобный подход даёт возможность управлять приложениями отдельно от операционной системы, например, можно обновить приложение без внесения системных изменений или обновить операционную систему без пересборки приложений. Помимо штатных приложений, таких как реализации протоколов маршрутизации, допускается запуск произвольных программ от сторонних производителей. Применение немодицифированного ядра Linux существенно упрощает сопровождение патчей с устранением уязвимостей и создание надстроек. Заявлена возможность доступа к Linux-утилитам, патчам и пакетам, а также поддержка запуска в изолированных контейнерах. Поддерживается определение контрольных точек для отката изменений в случае проблем.

Управление может производиться через gNMI (gRPC Network Management Interface), интерфейс командной строки, плагины на Python и API на основе JSON-RPC. Для обращения к функциональности работающих в системе сервисов предлагается использовать gRPC и протокол обмена данными Protocol Buffers. Приложения SR Linux могут обмениваться данными о состоянии, используя архитектуру «publish/subscribe» (pub/sub), в которой также применяется gRPC и Protocol Buffers, а в качестве механизма гарантированной доставки используется IDB (Nokia Impart Database). Для структурирования информации о состоянии приложения и используемой конфигурации применяются модели данных YANG (Yet Another Next Generation, RFC-6020).

Реализации сетевых протоколов, включая Multiprotocol Border Gateway Protocol (MP-BGP), Ethernet VPN (EVPN) и Virtual Extensible LAN (VXLAN), основаны на проверенном стеке протоколов SR OS (Nokia Service Router Operating System), уже применяемом на более чем миллионе маршрутизаторов Nokia. Для абстрагирования от аппаратных компонентов используется подсистема XDP (eXtensible Data Path).

Для автоматизации выполнения операций по созданию, развёртыванию, настройке сетевой инфраструктуры ЦОД, сбору и анализу телеметрии предлагается Nokia Fabric Services Platform (FSP). FSP также предоставляет инструменты программной симуляции сети для упрощения планирования, проектирования, тестирования и отладки сетей в датацентрах. Сетевые компоненты симулируются при помощи контейнерной изоляции на базе платформы Kubernetes, позволяющей запускать отдельные экземпляры SR Linux в своих изолированных окружениях.

По сути FSP позволяет программно сформировать виртуальную копию настоящей сети и использовать в этой симулированной сети то же самое программное обеспечение (SR Linux в контейнерах), что используется на реальных маршрутизаторах и коммутаторах. Более того, в реальной и симулированной сети используется одна и также конфигурация, что позволяет использовать программно симулированную сеть как первое звено для внесения и тестирования изменений. На основе симулированного окружения FSP может сгенерировать всю информацию, необходимую для развёртывания реальной сети.

 68   2 мес   Apple   nokia   Service Router Linux   SR Linux   srlinux

Линус Торвальдс о проблемах с поиском мэйнтейнеров, Rust и рабочих процессах

На прошедшей на прошлой неделе виртуальной конференции «Open Source Summit and Embedded Linux» Линус Торвальдс обсудил настоящее и будущее ядра Linux во вступительной беседе с Дирком Хонделом (Dirk Hohndel) из компании VMware. В ходе обсуждения была затронута тема смены поколений в среде разработчиков. Линус указал, что несмотря на почти 30-летнюю историю проекта, в целом, сообщество не такое и старое — среди разработчиков много новых людей, которым ещё не исполнилось и 50 лет. Старожилы действительно стареют и становятся седыми, но те кто давно вовлечён в проект, как правило, ушли от написания нового кода и занимаются задачами, связанными с сопровождением или управлением.

Поиск новых мэйнтейнеров отмечается как большая проблема. В сообществе много активных разработчиков, которые рады писать новый код, но мало кто готов посвятить своё время на сопровождение и проверку чужого кода. Кроме профессионализма, мэйнтейнеры должны пользоваться беспрекословным доверием. От мэйнтейнеров также требуется непрерывная вовлечённость в процесс и постоянная работа — сопровождающий всегда должен быть доступен, каждый день читать письма и реагировать на них. Работа в подобных условиях требует большой самодисциплины, поэтому мэйнтейнеров мало и их не хватает, а поиск новых мэйнтейнеров, способных рецензировать чужой код и направлять изменения вышестоящим мэйнтейнерам, становится одной из главных проблем в сообществе.

На вопрос об экспериментах в ядре Линус высказался, что сообщество разработчиков ядра теперь не может позволить себе некоторые безумные изменения, которые делались раньше. Если раньше разработка ни к чему не обязывала, то теперь от ядра Linux зависит слишком много систем.

На вопрос о переработке ядра на таких языках как Go и Rust, так как есть риск, что в 2030 годах Си-разработчики превратятся в нынешнее подобие разработчиков на COBOL, Линус ответил, что язык Си остаётся в десятке популярных языков, но для неосновных подсистем, таких как драйверы устройств, рассматривается возможность предоставления привязок для разработки на таких языках как Rust. В будущем ожидается предоставление разных моделей написания подобных вторичных компонентов, не ограничивающихся применением языка Си.

Намерение компании Apple использовать в настольных компьютерах и ноутбуках процессоры архитектуры ARM Линус прокомментировал с надеждой, что данный шаг поможет сделать ARM более доступным для рабочих станций. Последние 10 лет Линус жаловался на невозможность найти ARM-систему, которая подходила бы для системы разработчика. По аналогии с тем, как использование ARM компанией Amazon позволило продвинуть данную архитектуру в серверных системах, не исключено, что благодаря действиям Apple через несколько лет станут доступными и мощные ПК на ARM, который можно будет использовать для разработки. По поводу своего нового ПК на базе процессора AMD Линус упомянул, что всё работает нормально, если не считать сильно шумящего кулера.

Про занятия ядром Линус высказался, что это одновременно и скучно и интересно. Скучно, так как приходится сталкиваться с рутиной исправления ошибок и приведения в порядок кода, а интересно, так как постоянно необходимо разбираться с новыми технологиями, взаимодействовать с оборудованием на низком уровне и контролировать всё происходящее.

Про COVID-19 Линус упомянул, что пандемия и режимы изоляции не повлияли на разработку, так как процессы взаимодействия основаны на общении по электронной почте и удалённой разработке. Из разработчиков ядра, с которыми взаимодействует Линус, от инфекции никто не пострадал. Беспокойство вызвало пропадание на месяц или два одного из соратников, но оно оказалось связано с возникновением туннельного синдрома.

Линус также упомянул о том, что при разработке ядра 5.8 придётся потратить больше времени на подготовку релиза, и выпустить один или два дополнительных тестовых выпуска, так как данное ядро выдалось необычайно крупным по числу изменений. Но в целом работа над 5.8 пока проходит довольно гладко.

В другом интервью Линус заявлял, что он уже не считает себя программистом и отошёл от написания нового кода, так как давно пишет код только в почтовом клиенте. Всё основное время у него уходит на чтение почты и написание сообщений. Работа сводится к рецензированию отправляемых через почтовую рассылку патчей и pull-запросов, а также участию в обсуждениях предлагаемых изменений. Временами он поясняет свою идею псевдокодом или предлагает правки в патчи, которые отправляет в ответе без компиляции и тестирования, оставляя работу по доведению до должного уровня на изначального автора патча.

 127   2 мес   Amazon   AMD   Apple   ARM   COBOL   COVID-19   Dirk Hohndel   kernel   linus   Linus Torvalds   linux   Rust   VMware