From Automation to DevNetOps to Self-Driving Networks
This document outlines the evolution from automation to DevNetOps to self-driving networks. It discusses how automation enables consistency, speed and scale through open APIs, config management and telemetry. DevNetOps integrates network operations into the DevOps process through tools, processes and cultural changes. This allows intent-based designs, continuous integration/delivery, and network as code. Self-driving networks apply AI to optimize resources, anticipate problems and scale through continuous measurement and response based on telemetry and analytics.
3. EVOLUTION OF NETWORKING
CLOUD-GRADE NETWORKING
Enabling automation:
• Open API programmability
• Config management
• Telemetry interfaces
• Disaggregation
• System extensibility
• SDN
• VNFs
AUTOMATION
Enable intent-based designs:
• Declarative configs
• Abstraction layers in systems and APIs
• Continuous feedback and response
• Narrow-AI networking decisions
SELF-DRIVING NETWORK
Enable agility and quality:
• Network as Code and agile change mgmt
Config + Templates + Artifacts + OS
• Pipeline of continuous integration, testing,
staging simulation and delivery
• Micro-service immutable infrastructure
• Orchestrated deployments, rolling
upgrades, and traffic management
• Resiliency testing drills (chaos monkey)
DevNetOps
4. WHY WE AUTOMATE
CONSISTENCY
Improve reliability
SPEED
The future belongs to the fast
SCALE
Optimized capacity for demand
DIGITAL
OPERATIONSINSTRUMENTATION
Handle complexity and improve human interaction
5. COEFFICIENTS OF AUTOMATION
space – architecture
time – processes
AGILE CONTINUOUS PROCESSES
API-ARCHITECTURE – X-aaS & as Code CLOUD
&
DEVOPS
6. NEW HEROS IN THE DEVOPS SAGA
DevNetOps & DevSecOps
7. DEFINING TERMS
For application development ops DevOps mentality around security ops DevOps mentality around network ops
DevOps DevSecOps DevNetOps
DevOps brings together development and operations:
- PEOPLE and cultural principles and behavior through the entire business-level service lifecycle
- PROCESSES from design to production to maintenance reliability, scale, performance, security
- TOOLS to scale architecture, automate, collaborate, measure and thus improve quality and speed
In classic DevOps, traditional ops concerns like security and infrastructure are shifting left, moving earlier on the
code-to-cash timeline. These alter egos are part of classic DevOps and app development + operations:
• SecDevOps aka Rugged DevOps propels security earlier in considerations of DevOps
• NetDevOps (less popular term) propels networking into considerations of DevOps (eg. apps controlling the network)
The Shift Left
Software is crafted, built and run in the
same organization
Silos are internal to IT department
Security and networking solutions are mostly bought and assembled
Silos are vendor-customer so co-creation is required
8. DEFINING TERMS… and ROLES
For application development ops DevOps mentality around security ops DevOps mentality around network ops
DevOps DevSecOps DevNetOps
DevOps brings together development and operations:
- PEOPLE and cultural principles and behavior through the entire business-level service lifecycle
- PROCESSES from design to production to maintenance reliability, scale, performance, security
- TOOLS to scale architecture, automate, collaborate, measure and thus improve quality and speed
In classic DevOps, traditional ops concerns like security and infrastructure are shifting left, moving earlier on the
code-to-cash timeline. These alter egos are part of classic DevOps and app development + operations:
• SecDevOps aka Rugged DevOps propels security earlier in considerations of DevOps
• NetDevOps (less popular term) propels networking into considerations of DevOps (eg. apps controlling the network)
The Shift Left
Software is crafted, built and run in the
same organization
Silos are internal to IT department
NRE: Network Reliability Engineer
9. Resiliency Design and Drills
Orchestrated Upgrades
Pipeline Orchestration
Network as Code
Micro Immutable Architecture
STEPS TOWARD DevNetOps
TOOLING PROCESSES PEOPLE
•Git, GitLab/Hub, Gerrit, Specs
•IaC tooling for cloud / SDN
•Declarative config as code (YAML)
•Real code: programmed extensions
•Agile, sprints, reactive changes
•Reviewing, branching
•Design templates and abstractions
•“DevNet” simulation checking
•Code, Developer and SCM skills
•Fearless/blameless post-mortems
•Bug scrubbing
•Culture of projects as feature dev
10. Resiliency Design and Drills
Orchestrated Upgrades
Pipeline Orchestration
Network as Code
Micro Immutable Architecture
STEPS TOWARD DevNetOps
TOOLING PROCESSES PEOPLE
•Git, GitLab/Hub, Gerrit, Specs
•IaC tooling for cloud / SDN
•Declarative config as code (YAML)
•Real code: programmed extensions
•Agile, sprints, reactive changes
•Reviewing, branching
•Design templates and abstractions
•“DevNet” simulation checking
•Code, Developer and SCM skills
•Fearless/blameless post-mortems
•Bug scrubbing
•Culture of projects as feature dev
•Baking (eg. Aminator/Packer)
•Testing (eg. Jenkins)
•Pipeline as code (eg. Spinnaker)
•Orchestrate deployments
•Continuous integration/delivery
•Automatic and manual judgements
•“Continuous” deployment under
supervision with traffic management
•Adapt to test failures
•Test-driven development
•Pipeline ops specialist teams
11. Resiliency Design and Drills
Orchestrated Upgrades
Pipeline Orchestration
Network as Code
Micro Immutable Architecture
STEPS TOWARD DevNetOps
TOOLING PROCESSES PEOPLE
•Git, GitLab/Hub, Gerrit, Specs
•IaC tooling for cloud / SDN
•Declarative config as code (YAML)
•Real code: programmed extensions
•Agile, sprints, reactive changes
•Reviewing, branching
•Design templates and abstractions
•“DevNet” simulation checking
•Code, Developer and SCM skills
•Fearless/blameless post-mortems
•Bug scrubbing
•Culture of projects as feature dev
•Baking (eg. Aminator/Packer)
•Testing (eg. Jenkins)
•Pipeline as code (eg. Spinnaker)
•Orchestrate deployments
•Continuous integration/delivery
•Automatic and manual judgements
•“Continuous” deployment under
supervision with traffic management
•Adapt to test failures
•Test-driven development
•Pipeline ops specialist teams
•Containers & functions (from baking)
•CaaS and FaaS to run SDN systems
•ZTP minimal network OS
•Secrets, configs, volumes ”mounting”
•Design/package software into single-
purpose services
•CD as a vendor GTM model
•Design read-only CLI / GUIs
•Vendor-led re-architecting software
and systems for micro-upgradability
•Customer-led network architecture /
traffic management with redundancy
12. Resiliency Design and Drills
Orchestrated Upgrades
Pipeline Orchestration
Network as Code
Micro Immutable Architecture
STEPS TOWARD DevNetOps
TOOLING PROCESSES PEOPLE
•Git, GitLab/Hub, Gerrit, Specs
•IaC tooling for cloud / SDN
•Declarative config as code (YAML)
•Real code: programmed extensions
•Agile, sprints, reactive changes
•Reviewing, branching
•Design templates and abstractions
•“DevNet” simulation checking
•Code, Developer and SCM skills
•Fearless/blameless post-mortems
•Bug scrubbing
•Culture of projects as feature dev
•Baking (eg. Aminator/Packer)
•Testing (eg. Jenkins)
•Pipeline as code (eg. Spinnaker)
•Orchestrate deployments
•Continuous integration/delivery
•Automatic and manual judgements
•“Continuous” deployment under
supervision with traffic management
•Adapt to test failures
•Test-driven development
•Pipeline ops specialist teams
•Containers & functions (from baking)
•CaaS and FaaS to run SDN systems
•ZTP minimal network OS
•Secrets, configs, volumes ”mounting”
•Design/package software into single-
purpose services
•CD as a vendor GTM model
•Design read-only CLI / GUIs
•Vendor-led re-architecting software
and systems for micro-upgradability
•Customer-led network architecture /
traffic management with redundancy
• If in-place cutovers won’t do, traffic
balancing/draining orchestration as
code (across systems or ports) and
orchestrate deploys (eg. Spinnaker)
• Deployment step in the pipeline
• Staging simulation environments
• Blue/green or canary failure
rollbacks
• Frequent small updates/upgrades
• Hands-off deployment mindset
• Roll-forward determinations
13. Resiliency Design and Drills
Orchestrated Upgrades
Pipeline Orchestration
Network as Code
Micro Immutable Architecture
STEPS TOWARD DevNetOps
TOOLING PROCESSES PEOPLE
•Git, GitLab/Hub, Gerrit, Specs
•IaC tooling for cloud / SDN
•Declarative config as code (YAML)
•Real code: programmed extensions
•Agile, sprints, reactive changes
•Reviewing, branching
•Design templates and abstractions
•“DevNet” simulation checking
•Code, Developer and SCM skills
•Fearless/blameless post-mortems
•Bug scrubbing
•Culture of projects as feature dev
•Baking (eg. Aminator/Packer)
•Testing (eg. Jenkins)
•Pipeline as code (eg. Spinnaker)
•Orchestrate deployments
•Continuous integration/delivery
•Automatic and manual judgements
•“Continuous” deployment under
supervision with traffic management
•Adapt to test failures
•Test-driven development
•Pipeline ops specialist teams
•Containers & functions (from baking)
•CaaS and FaaS to run SDN systems
•ZTP minimal network OS
•Secrets, configs, volumes ”mounting”
•Design/package software into single-
purpose services
•CD as a vendor GTM model
•Design read-only CLI / GUIs
•Vendor-led re-architecting software
and systems for micro-upgradability
•Customer-led network architecture /
traffic management with redundancy
• If in-place cutovers won’t do, traffic
balancing/draining orchestration as
code (across systems or ports) and
orchestrate deploys (eg. Spinnaker)
• Deployment step in the pipeline
• Staging simulation environments
• Blue/green or canary failure
rollbacks
• Frequent small updates/upgrades
• Hands-off deployment mindset
• Roll-forward determinations
• Net-chaos monkey and watchdogs
• kill -9, unplug or cut cables, etc.
• DoS and traffic generators
• BFD, re-convergence optimization
• Develop drills for staging
• Run periodically in production
if/when possible (the new
“maintenance” window)
• Active open mindedness
• Design for security and resiliency
• Force failures to avoid black swans
• Sadistic practices of tech killing ;)
14. CLOUD-GRADE NETWORKING
SELF-DRIVING NETWORKS: Apply big data collection and narrow-AI to networking
- Optimize and self-heal resources
- Anticipate problems and avoid them
- Scale
TOOLING PROCESSES PEOPLE
•Drill-down dashboards
•KPIs through technicals
•Real-time & historical telemetry
•IT ops integrations (eg. PagerDuty)
•Incident and anomaly playbooks
•Data science-led planning and
optimization
•Management by metrics
•Start with the important questions not
the data you have
•Shift to read-only GUIs
Continuous Response
Continuous Measurement
STEPS TOWARD DevNetOps
15. CLOUD-GRADE NETWORKING
SELF-DRIVING NETWORKS: Apply big data collection and narrow-AI to networking
- Optimize and self-heal resources
- Anticipate problems and avoid them
- Scale
TOOLING PROCESSES PEOPLE
•Drill-down dashboards
•KPIs through technicals
•Real-time & historical telemetry
•IT ops integrations (eg. PagerDuty)
•Incident and anomaly playbooks
•Data science-led planning and
optimization
•Management by metrics
•Start with the important questions not
the data you have
•Shift to read-only GUIs
Continuous Response
Continuous Measurement
•Infrastructure lifecycle APIs
•Scaling/healing “operator” policy and
ML and event frameworks from node
auto-repair to full-blown FaaS
•AI operator and analytics for expert
system learning
•Workflows for supervised self-driving
•Pattern searching and reinvention
•Continual reinvention operational
stability/performance automation
•Optimize economics and capacity
STEPS TOWARD DevNetOps
API Archttecture =
X aaS = everything is an API and service – generally composed of microservices
X as Code = everything is programmable and everything follows sw dev patterns
Continuous processes = everything is orchestrated on a pipeline for speed, consistency (quality) and instrumented for real-time continuous response and optimization
Continuous integration > delivery > deployment > response
Microservice = perfect match for nimble agile process where many step steps are favored
NRE of course drawing inspiration from SRE: Site reliability engineering