На проходящем саммите Open Compute компания Microsoft анонсировала открытие наработок проекта SONiC (Software for Open Networking in the Cloud), в рамках которого развивается набор компонентов, дополняющих дистрибутивы Linux средствами для работы на сетевых устройствах, таких как коммутаторы. SONiC позиционируется как коллекция приложений, не привязанных к конкретному дистрибутиву Linux, но в настоящее время поддерживается только создание решений на базе Debian GNU/Linux. Код открыт на GitHub под различными открытыми лицензиями (GPLv2, MIT).
SONiC лежит в основе анонсированной в сентябре операционной системы Azure Cloud Switch (ACS), используемой в сетевых устройствах программно-конфигурируемых сетей Microsoft (SDN, Software-Defined Networking). ACS состоит из пакетов Debian, компонентов SONiC и приложений для управления облачными системами. Платформа может применяться на широком спектре оборудования, совместимом со спецификациями Switch Abstraction Interface (SAI), развиваемыми в рамках открытого проекта Open Compute. Спецификации определяют API, позволяющий абстрагировать программное обеспечение коммутатора от применяемых специализированных ASIC. Например, через SAI можно управлять сетевыми интерфейсами, создавать туннели, управлять L3-маршрутизацией, настраивать QoS (Quality of Service) и т.п.
SONiC позиционируется как важное звено для построения полностью открытой платформы для коммутаторов, использующей единый программный стек на оборудовании разных производителей и позволяющей создавать гибкие и модульные решения для датацентров. В настоящий момент поддерживаются ASIC от компаний Mellanox, Broadcom, Cavium и Barefoot, а также реализации SAI от Barefoot Networks, Broadcom, Cavium, Centec, Dell, Mellanox и Metaswitch.
Среди компонентов SONiC: сервис Switch State Service, набор патчей для ядра Linux, реализация интерфейса SAI, утилиты, SNMP-агент, драйверы поддержки конкретных аппаратных платформ и сборочный инструментарий. Данные компоненты протестированы в Debian, но могут быть использованы и в других дистрибутивах Linux для организации работы на коммутаторах Layer2/Layer3, поддерживающих SAI.
В докладе также озвучены интересные цифры, касающиеся использования Linux в облачных системах Microsoft. Утверждается, что в настоящее время 25% всех виртуальных машин в Azure работают под управлением Linux, в то время как полгода назад этот показатель составлял 20%.