Just as NetDevOps was born from DevOps, Network as Code (NaC) was born from Infrastructure as Code (IaC). So to understand NaC, we need to first look at IaC in detail.
What is Infrastructure as Code (IaC)?
Infrastructure as Code, says Wikipedia, is “the process of managing and provisioning computer data centres through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.”
If we simplify this a bit, and broaden it beyond data centers, we can say IaC uses declarative code files for managing and provisioning cloud networks, in contrast to the traditional method of working in the CLI.
What this definition doesn’t call out explicitly, but which most discussions of IaC include, are the details of managing that declarative code. IaC is assumed to work with templatized configurations, have a centralized code source with version control, and use APIs to automate much of the management process.
The goal of using Infrastructure as Code is to make IT infrastructure simpler to manage and easier to scale, while delivering better reliability.
How Infrastructure as Code became standard terminology
Unlike many of the terms we've discussed, Infrastructure as Code has a relatively clean history and has achieved widespread, lasting adoption. This makes it the exception rather than the rule in our terminology landscape.
The conceptual foundations of IaC emerged simultaneously with DevOps at the inaugural DevOpsDays conference in 2009. This event centered heavily on managing infrastructure through code and configuration management tools.

While not every talk used the exact phrase "Infrastructure as Code," the gathering established the core principles: infrastructure should be defined programmatically, version-controlled, and deployed like application code.
By 2010, Infrastructure as Code had become explicit industry terminology, and the practice was spreading rapidly in the cloud realm. Engineers and vendors were using the phrase throughout blogs and conference talks to describe using tools like Puppet and Chef to define and provision infrastructure programmatically.
The term gained further legitimacy and standardization in 2016 when Kief Morris published Infrastructure as Code through O'Reilly, the first book dedicated to the topic. Morris's work provided canonical definitions and practices, cementing IaC as a mainstream engineering concept.

Today, Infrastructure as Code is ubiquitous in cloud and DevOps conversations. It's taught in training programs, referenced in job descriptions, and built into platform offerings from AWS, Azure, Google Cloud, and infrastructure management vendors.
Infrastructure as Code TL;DR
Infrastructure as Code uses declarative, version-controlled code files to define and provision infrastructure, replacing manual CLI-based configuration. It typically includes templated configurations, centralized source control, API-driven automation, and CI/CD workflows to make infrastructure simpler to manage, easier to scale, and more reliable.
While the principles can apply to any infrastructure, IaC is predominantly associated with cloud management and has become the standard approach for DevOps teams working in cloud environments.
Unlike NetDevOps or Network as Code, IaC established clear conceptual boundaries and achieved widespread recognition. It's one of the few terms in this landscape that has lived up to its promise, defining a distinct, agreed-upon framework that’s been broadly adopted.
What is Network as Code?
As you might guess from the name, Network as Code (NaC) is a version of Infrastructure as Code that applies to the entire network, with a focus on physical infrastructure.
The term started appearing in blogs and talks around 2016, and was used informally to describe applying software engineering practices to network configuration.
Through the late 2010s, engineers at companies like Cisco and in technical communities used the phrase to describe version-controlled network configs, API-driven changes, and CI/CD pipelines for networking—approaches that overlapped heavily with both Infrastructure as Code and the emerging NetDevOps movement.
In 2018, Cisco engineer Julio Gomez gave a talk on NetDevOps, which included a slide clearly delineating a split between Network as Code, which dealt with infrastructure, from Infrastructure as Code in the cloud world.

Gomez’s framing of NaC and IaC was set in a presentation centered around NetDevOps, making NaC and IaC parallel approaches but a subset of the NetDevOps conversation.
Infoblox, on the other hand, calls Network as Code a subset of IaC.
In 2020, Batfish engineer Ratul Mahajan wrote a short industry retrospective titled Network as Code: From Hype to Substance, looking back at 2017 as a "hype period" for network automation concepts. Mahajan uses "network as code" as a conceptual umbrella encompassing CI/CD pipelines, pre- and post-validation, intent-based networking, NetDevOps, and automation generally, rather than as a specific framework.
Today, seven years after Gomez’s talk at Open Source Summit, Cisco still backs the term NaC. The company dedicates a subdomain on their website to Network as Code, touting it as a way to “manage networks following Infrastructure as Code principles.”
But muddying the word waters for the rest of us, Nokia took the phrase for one of their product names, launching the Network as Code platform in 2023 as an API portal to help developers translate network capabilities into code.
This vendor tussle may all be moot anyway as, practically speaking, few engineers have heard the term Network as Code and fewer still use it regularly.
As co-founder of the Packet Pushers network, Ethan Banks has constant eyes and ears on the networking industry, its conversations, and its trends and he had not heard the term: “I haven’t seen Network as Code yet. I’ve got to figure out who's trying to make that a thing. … This is nuts. The thing we didn't need was more terms.”
Network as Code TL;DR
Network as Code describes applying Infrastructure as Code principles—version control, declarative configuration, automated testing, CI/CD pipelines—to physical network infrastructure.
However, the term has never established a clear identity distinct from Infrastructure as Code, NetDevOps, or network automation more broadly. You may encounter NaC in vendor materials or occasional blog posts, but it hasn't defined, or even meaningfully distinguished, a category of network operations.