Benjamin Ryzman
on 9 April 2025
Software for Open Networking in the Cloud (SONiC) is an open-source network operating system that has revolutionized data center networking. Originating as a Microsoft-led initiative in the Open Compute Project (OCP) in 2016, SONiC has rapidly gained traction among hyperscalers and switch hardware vendors, including Broadcom, Cisco, and NVIDIA. By building its services using containerized microservices, SONiC brings flexibility, scalability, and modularity to network infrastructure. Today, SONiC is a project hosted by the Linux Foundation.
Canonical has identified several key strategies to help network equipment vendors and users of SONiC in the enterprise address some of SONiC’s limitations and enhance reliability and performance for their version of SONiC. This article begins by exploring SONiC’s technical architecture, its origins and current limitations. We then cover Canonical’s efforts to improve it, and its potential impact on enterprise data centers.
How SONiC works
SONiC was developed to meet the rigorous requirements of cloud data centers, offering a robust and scalable solution for network management. At its core, SONiC employs a modular architecture that decouples network software from the underlying hardware.
SONiC’s architecture is composed of multiple containerized microservices, each responsible for specific networking functions. This includes infrastructure services like the Dynamic Host Configuration Protocol (DHCP) service, Border Gateway Protocol (BGP) routing services, and Quality of Service (QoS) policies management. By isolating these functions into separate Docker containers, SONiC ensures that each service operates independently, enhancing system stability and flexibility. To manage configuration and network state information, SONiC utilizes a centralized Redis database. This approach ensures consistent state management across all services, enabling seamless communication between the various microservices.
One of SONiC’s significant advantages is its ability to operate across a wide range of hardware platforms, allowing cloud operators to use the same software stack across devices from different switch vendors. The SONiC community is a diverse ecosystem comprising cloud providers, service providers, hardware vendors, and silicon and component suppliers. With over 850 members, the community collaborates to enhance SONiC’s capabilities and expand its adoption. Additionally, several companies offer enterprise services and support for SONiC, providing users with professional assistance and resources.
For more detailed information, you can visit the official SONiC website and the SONiC GitHub repository.
SAI: the key component for network operating systems
We can’t discuss SONiC’s inner workings without mentioning the Switch Abstraction Interface (SAI). It is a key component which allows SONiC and other network operating systems (NOS) to run on network equipment from various vendors. As a standardized application programming interface (API), SAI provides a vendor-independent method for controlling network forwarding elements, such as switching ASICs and Network Processing Units (NPUs) that are base hardware components in network devices. SAI abstracts the underlying hardware details and exposes a set of common features that are implemented in the underlying hardware.
SAI offers a consistent set of C-language based functions, which enables developers to program network hardware without needing intimate knowledge of the characteristics of each vendor’s silicon. It is a key enabler for disaggregated networking, as it decouples software from hardware. This separation allows organizations to select switching silicon and NOS independently, preventing vendor lock-in and encouraging software innovation.
As with SONiC, SAI is an open source project, under the Open Compute Project (OCP), with contributions from major industry players such as Microsoft, Dell, Broadcom, and NVIDIA. This collaborative approach ensures SAI evolves to meet the diverse needs of the networking community.
SONiC adoption
Since its initial release in 2016, SONiC has seen significant adoption among hyperscalers, with companies like Microsoft and Alibaba integrating it into their data center infrastructures. Microsoft utilizes SONiC as the default switch OS powering Azure and various other parts of its cloud services, including its AI platform. This integration underscores SONiC’s capability to handle large-scale, demanding environments.
Similarly, Alibaba has leveraged SONiC to transform its data center infrastructure, achieving substantial cost savings, enhanced network quality, and accelerated innovation in AI and standard cloud compute/storage architectures.
Despite these successes, SONiC’s feature set is still evolving and may not yet comprehensively support all enterprise network use cases. For instance, some key features required for enterprise private data center environments, such as multi-chassis link aggregation (MCLAG) and multihoming EVPN, are absent, still in development, or not thoroughly tested.
Additionally, SONiC’s large image footprint makes it unsuitable for some hardware switches with limited memory. Another notable challenge is SONiC’s reliance on the standard Linux filesystems, which can prove problematic when implemented on devices using eMMC (embedded MultiMediaCard) storage, often found in certain hardware configurations.
Users have also reported issues with operational reliability, as managing and customizing SONiC often requires expert resources, which creates additional complexity for less experienced teams. Furthermore, some of SONiC’s container management workflow presents challenges due to runtime-generated process parameters and container configurations, which hinder service stability and warm-boot capabilities.
Additionally, the community process for improving SONiC has been criticized for being slow, delaying key updates and bug fixes. The fragmented nature of SONiC’s ecosystem also complicates deployment, especially for hardware vendors and Tier-2 cloud providers.
These limitations suggest that while SONiC is a robust solution for hyperscalers, it may require further development and validation to fully meet the diverse needs of enterprise networks.
Canonical’s plan to support SONiC
SONiC traditionally runs on top of Debian, which makes it relatively straightforward to migrate its user space components to run on Ubuntu instead. This transition brings several benefits, as the Ubuntu kernel is more recent than the Debian kernel included in the upstream SONiC distribution (called “Community SONiC”) and is professionally maintained, with more frequent updates to address bugs and security vulnerabilities.
Canonical’s effort to port SONiC over to Ubuntu has already seen significant success. SONiC images are now running effectively on both virtual machines and select hardware platforms from Canonical’s partners, demonstrating the feasibility and stability of this new platform. Thanks to Canonical’s long-term support (LTS) of up to 12 years of maintenance and security fixes for the Ubuntu kernel and operating system, this adaptation enables network equipment suppliers to provide industry-leading maintenance and security updates to their customers, ensuring that their version of SONiC can be supported with the best protection and stability available on the market.

One of Canonical’s key initiatives is the integration of SONiC, and other network operating systems leveraging the Open Network Install Environment (ONIE), with Canonical’s MAAS (metal-as-a-service), in order to streamline device onboarding and enrollment. Watch this space to learn more about what MAAS will provide for networking in the datacenter.
Canonical is also working closely with hardware vendors to improve compatibility and deliver stronger performance on advanced network switches. Recognizing the need for better security, Canonical has conducted an assessment of SONiC-specific security gaps and can apply best practices from its Secure Software Development Lifecycle (SSDLC) to ensure enterprise-grade protection.
Canonical’s efforts also focus on reducing SONiC’s image footprint by improving Docker container layering through the use of chiseled base Ubuntu images and additional optimizations, ensuring the system can function efficiently on hardware with minimal resources. Extensive regression testing, certification lab installations, and robust CI/CD pipelines are available to ensure SONiC versions deployed on popular network hardware platforms are fit for demanding production environments.
The value of collaboration
Canonical’s active collaboration with the SONiC community, independent hardware vendors, and enterprise customers plays a critical role in ensuring SONiC evolves into a stable, secure, and scalable network operating system. By aligning with key industry players and contributing valuable feature enhancements, Canonical aims to accelerate SONiC’s adoption in data centers worldwide. This cooperative effort will empower SONiC to deliver on its promise of providing an open, adaptable, and cost-effective networking solution for the cloud era.