Most IT executives are probably familiar with the concepts of DevOps and DevSecOps. There’s a new model generating considerable buzz that is particularly relevant to networking professionals: NetDevOps.
As with other emerging technologies, the definition of NetDevOps varies depending on who is providing it. But at a basic level, the term refers to the application of DevOps principles to computer networking.
“NetDevOps is a pretty hot [and] hyped topic,” says Andrew Lerner, research vice president for networking at Gartner. “But the first question is, what is it, as there are different definitions and perceptions.”
What is NetDevOps?
Under the Gartner definition, NetDevOps entails applying the DevOps concepts of continuous integration/continuous deployment (CI/CD) to networking activities. Other terms used to describe this model include NetOps 2.0, network as code and GitOps networking, Lerner says.
Research firm GigaOm says NetDevOps “encompasses the abstraction, codification, and implementation of network infrastructure as code [IaC], using programmed, automated workflows to eliminate configuration drift, thereby embedding quality and resiliency within the network.”
Lerner says that in order to leverage NetDevOps, an organisation needs to have an automated pipeline that includes staging, pre/post validation, and testing of networking activities such as provisioning.
GigaOm concurs, adding that the NetDevOps pipeline can deliver code from different development environments into production, triggering comprehensive validation and compliance tests along the way.
NetDevOps also encompasses continuous monitoring, measurement, and response, automatically triggering remediation alerts when detecting configuration drift from a desired state, the firm says.
What are the benefits of NetDevOps?
Given its DevOps roots, it makes sense that NetDevOps would embrace many of the same objectives. “DevOps is described by four principles: a holistic system thinking approach (view the whole system, not simply your piece), no organisational silos, rapid feedback, and automation to reduce toil,” says Joel King, an independent network automation architect.
Network operations has lagged other functional areas supporting an organisation’s IT infrastructure, King says, especially when it comes to automation through network programmability.
“To deploy a new application or service supporting the enterprise, the compute, storage and networking components all require configuration changes or implementing new hardware,” King says. “Often these changes are done manually, by an engineer typing on a terminal window, and may need to be reviewed by a formal change control process and implemented during a time slot occurring off-hours.”
It might take weeks or months to affect the infrastructure changes needed to support the application requirements, King says. “Automating infrastructure changes is a foundational component to decrease the time required to deploy new applications or services, to satisfy the business requirements,” he says.
NetDevOps “helps to improve agility and is particularly valuable for organisations implementing infrastructure as code, because the network is often a bottleneck,” Lerner says. “NetDevOps practices drive clear workflows and documentation, which helps with auditing and governance, and troubleshooting.”
Another benefit of NetDevOps is that it enables greater collaboration among various departments within IT, much like DevOps does with development and operations.
“NetDevOps bridges silos across networking development and operations teams,” says Sameer Mahajan, principal architect at software company GS Lab. “These two teams have different responsibilities. The development team works on code development and testing, whereas the operations team deals with the environment, IT architecture, deployment, availability, etc.”
Traditionally, multiple hand-offs are involved while taking code under development to production, Mahajan says. “This results in software quality issues, delays, and frustration amongst team members,” he says. “NetDevOps addresses these issues by automating this process and making it seamless. It increases efficiency of deploying network changes and reducing errors.”
There are at least seven primary use cases for NetDevOps, Mahajan notes, including device provisioning, data collection and telemetry, compliance checks, migrations, reporting, troubleshooting and configuration management.
What are the obstacles to NetDevOps deployment?
To date, NetDevOps has not been widely implemented. “We estimate that only between two percent and 10 percent of enterprises actively use NetDevOps practices currently,” Lerner says.
Organisations need to address a number of obstacles to deploying NetDevOps:
Risk aversion: “The impact of a data centre outage is huge,” Lerner says. “Thus, network teams are risk-averse and lack confidence in automating data centre networks. NetDevOps practices require an accurate repository of up-to-date network information — inventory, location, etc. — which is not common in many enterprises.”
Technical debt: Technical debt in the form of heterogeneous environments from a single vendor and configuration perspective is another obstacle, Lerner says. “And, of course, inconsistent or undocumented workflows related to network activities limit adoption,” he says.
Skills shortage: “We recommend investing in personnel by shifting hiring and training focus toward specific software competencies, including Ansible and Python, community forums, and cross-pollinating networking teams with adjacent DevOps personnel,” Lerner says.
Documentation: NetDevOps practices require an accurate repository of up-to-date network information, which is not common in many enterprises, Lerner says.
Culture: For many companies, adopting these principles represents a major cultural shift, King adds. Organisations that have a culture of low-trust, top-down management, and have rigid change controls in place are likely to have problems implementing NetDevOps, he says.
How to get started with NetDevOps
Implementing NetDevOps is all about process, organisation and training, rather than technology, King says. “A skills assessment of the staff is a required first step,” he says.
“Many network engineers don’t have the time, interest or aptitude to become network programmers. However, some of the network engineering team may find learning programming skills is a new challenge and providing a learning opportunity will benefit the team.”
Creating a team structure where subject matter experts (SMEs) can collaborate with programmers is great approach, King says. In addition, companies can create centres of excellence to demonstrate the workings of an integrated team of SMEs and programmers, and then apply and replicate this team approach to other areas of IT operations, he says.
In addition to investing in training, organisations preparing for a move into NetDevOps should provide staffers with sufficient time to absorb new processes and tools, Lerner says.
“Cross train network teams with agile and DevOps teams,” Lerner says. He adds that network teams need to capture and store both device configurations and operational network state (for example, active routing tables) in a version control system.
It’s also a good practice to create standard templates for device types, apply versioning, track configuration drift, and use automation wherever possible, Lerner says.
“Automate pre- and post-change validation. Automate pre- and post-environmental testing, such as latency/availability checks. And automate testing and configuration rollback,” he adds.
Ultimately, it comes down to creating a new culture that supports NetDevOps, Mahajan says. “The organisation should shift to the mindset of making small and frequent changes in automated fashion,” he says. “The small changes make it less risky. The frequent changes help keep the environment most [up to date]. The automated mode reduces manual interventions and makes it less error prone.”
How to maintain success on the road to NetDevOps
It’s one thing to start a NetDevOps initiative, but maintaining success over the long term also requires a sustained effort.
“Maintaining a NetDevOps strategy requires that management buy in to fostering and investing in the time, training and organisational structure to enable success,” King says. “These changes are long-term investments.”
Enabling a team that can accomplish some small, early successes is important, King says. “It is critical to capture the metrics around these successes, in terms of cost savings, increased employee satisfaction and quicker time to providing value to stakeholders and making it visible to management,” he says.
Investing in continual learning and experimentation by the team in order to expand their capabilities is also important, King says. “Provide employees time for improvement work or innovation time, and adapt the existing processes to incorporate these innovations,” he says.
How does an organisation measure NetDevOps success?
“Success is measured by high uptime of the network, less errors and maintaining the environment on the most recent version of the changes,” Mahajan says.
Enterprises don’t have to go it alone when using NetDevOps. While it’s more of a process than a commercial vendor offering, Lerner says, there are vendors that can help companies to enable NetDevOps within their organisations. Among these are Network to Code, Itential, HashiCorp, Arista and others, which provide infrastructure as code and other network automation capabilities.
GigaOm says it anticipates rapid evolution in the market in the coming months. “New players will emerge with lean, innovative solutions, while established networking vendors will compete by acquiring solution vendors and expanding critical partnerships.”
With different NetDevOps vendors and options available, and the landscape evolving, selecting the best NetDevOps tools will depend on an organisation’s use cases, existing software infrastructure, architectural choices, and in-house capabilities.
For organisations looking to automate and accelerate the shift to digital operations, it’s likely that many will make NetDevOps a focus of their efforts to enhance network performance and reliability.