**SONiC** (Software for Open Networking in the Cloud) is an open source network operating system based on Linux and Docker, originally developed by Microsoft and now a Linux Foundation project. It runs on white-box switches and provides a programmable, vendor-neutral alternative to proprietary switch operating systems.
---
### First Principle: Your switching fabric should be as software-defined and replaceable as your compute.
Cisco IOS, Junos, and other proprietary NOSes create vendor lock-in at the physical switching layer. SONiC breaks this by running on commodity merchant silicon (primarily Broadcom Tomahawk) and exposing management via standard APIs.
---
### Key Considerations
- **Architecture**: SONiC is a containerised application platform. Each networking function (BGP, LLDP, SNMP, ACL manager) runs as a separate Docker container communicating via Redis ASIC DB. Components can be updated independently.
- **SAI (Switch Abstraction Interface)**: SONiC talks to switching hardware through SAI — a standardised hardware abstraction layer that works across different ASIC vendors.
- **[[FRRouting (FRR)]] Integration**: SONiC uses FRR for its routing protocol stack (BGP, OSPF, IS-IS). This is how SONiC participates in underlay routing.
- **Deployment**: Used at Microsoft Azure, Alibaba Cloud, Tencent, and Goldman Sachs. Proven at genuine hyperscaler scale.
- **Management**: Supports SNMP, gNMI, OpenConfig, and REST APIs. Integrates with [[Ansible]] for automated configuration.
---
### How It Fits
```
[[FRRouting (FRR)]] (routing protocols: BGP/OSPF)
→ SONiC (NOS running on white-box switch hardware)
→ Merchant silicon (Broadcom/Mellanox ASICs)
→ [[Open vSwitch (OVS)]] / [[OVN]] (overlay on top)
```
[[FRRouting (FRR)]] | [[Open vSwitch (OVS)]] | [[Ansible]] | [[Open Source Hyperscaler MoC]]