Enterprises have been trying to automate their networks for decades, but manual tasks continue to dominate operations. According to Enterprise Management Associates (EMA) research, only 34% of IT organizations have been able to automate more than half of their network provisioning and change management tasks. With so many commercial and open source network automation tools available, why aren’t organizations doing better?
These slides—based on the webinar featuring Shamus McGillicuddy (EMA Vice President of Research) and Jason Edelman (Founder and CTO of network automation solution provider Network to Code) —provide guidance on how to set a network automation strategy. You will also get insights on:
- Whether a network team should use open source, homegrown, or commercial network automation solutions
- How to establish a data-driven source of truth for your network
- How to build the right team for enabling your network automation strategy
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Build vs Buy Network Automation Guide
1. | @ema_research
Build vs. Buy:
Finding the Best Path to
Network Automation
Shamus McGillicuddy
VP of Research, Network Infrastructure Management
Enterprise Management Associates (EMA)
Jason Edelman
Founder and CTO
Network to Code
8. @networktocode | Confidential 8
Build vs. Buy: What is NTC Seeing?
Focus On Workflows, Not Tools
• Assign IP Address to interface
• Assign VLAN to Layer 2
switchport
• Bounce a switchport
• Verify RF for WiFi clients
• Verify configuration
• Turn up new BGP peer
• Determine location of an IP/MAC
• Open Change Request
• Obtain data required for change
• Generate change commands
• Generate rollback plan
• Backup configuration
• Issue pre-deployment checks
• Issue pre-change commands
• Generate diff before the change
• Verify existing vs. expected state
• Make change (and hope?)
• Issue post-change commands
• Update Change Ticket
• Execute Compliance Checks
• Update Chat / Send alert / Send Email
• Backup configuration
Perception Reality
9. @networktocode | Confidential 9
Build vs. Buy: What is NTC Seeing?
Ensure Maximum Extensibility
• Can you tailor deployments?
• One of the reasons Ansible did so well in
networking.
• Managing Enterprise Governance
• Preparing for change
• Vendor / Platform migrations
• 3rd party tool changes
Example: Nautobot Extensibility allows users to inject menu items, create dropdowns, and
content on nearly any page.
10. @networktocode | Confidential 10
Build vs. Buy: What is NTC Seeing?
Open Source IS Driving Industry Change
% of OSS % of OSS
OSS + NetDevOps is Driving Change
OSS is never 0%
15. @networktocode | Confidential 15
Source of Truth: What is NTC Seeing?
Let’s Level Set on Terminology
● Source of Truth is about intentions
and planning.
● It is about the expected state.
● Source of Truth data drives parts,
labor, and configurability.
vs.
16. @networktocode | Confidential 16
Source of Truth: What is NTC Seeing?
Eliminate Spreadsheets and Text Files
Step 1: Migrate from spreadsheets
YAML is usually the first step
Step 2: Determine the right datastore
For each type of data
17. @networktocode | Confidential 17
Source of Truth: What is NTC Seeing?
Empowering Data-Driven Network Automation
interface Ethernet1
description connects to WAP…
switchport mode access
switch access vlan 5
Network
Design
Designs Generate Data
Data Drives Network Automation
Data Value
Interface Ethernet1
Description connects to WAP…
Mode access
VLAN 5
18. @networktocode | Confidential 18
• Assign IP Address to interface
• Assign VLAN to Layer 2
switchport
• Bounce a switchport
• Verify RF for WiFi clients
• Verify configuration
• Turn up new BGP peer
• Determine location of an IP/MAC
• Open Change Request
• Obtain data required for change
• Generate change commands
• Generate rollback plan
• Backup configuration
• Issue pre-deployment checks
• Issue pre-change commands
• Generate diff before the change
• Verify existing vs. expected state
• Make change (and hope?)
• Issue post-change commands
• Update Change Ticket
• Execute Compliance Checks
• Update Chat / Send alert / Send Email
• Backup configuration
Perception Reality
Source of Truth: What is NTC Seeing?
Empowering Data-Driven Network Automation
• How did you know which IP address to assign?
• How did you know which ASN?
• Which VLAN ID? Are you enforcing VLAN naming
standards? How about interface descriptions?
• Which commands should be ran pre/post?
• How do you know what’s expected?
• Where is that data stored?
• How do you know how many neighbors should be on
the interface?
• Did you perform any configuration analysis before
deploying?
Source of Truth
Data-Driven Networks
22. @networktocode | Confidential 22
Assembling a Network Automation Team: What is NTC Seeing?
NetDevOps Transformation
• Separate the NetDevOps Functions from the
Automation (Platform) team
• Embrace a shared responsibility model
• Develop both an automation platform and
workflow (service catalog) strategy
• Support the existing staff with the transition
A training class is not enough
Invest in skills, not only tools…prepare for the future.
23. @networktocode | Confidential 23
Mapping Roles to Skills
Network Development Engineer
Skills to use and consume
Network Automation Platform
Network Automation Engineer
Skills to develop and operate
automated workflows
Network Automation Architect
Skills to build and maintain a
Network Automation Platform
Linux
- Basic Linux system operations
- Vim, bash, make
Git
- pull/commit/push/rebase
- GitOps fundamentals
- Basic CI operations
Data modeling, templating and
APIs
- YAML
- Jinja2
- REST, GraphQL, JSON
Software and IaaC
- Basic Python/Go
- Basic Ansible/Terraform
Linux
- More advanced linux system
operations
Software and IaaC
- More advanced Python/Go
- Prepare Ansible/Terraform
playbooks and configurations
Network Automation Tooling
- Libraries: NAPALM, Netmiko,
Nornir, PyATS, gnmic, scrapli,
etc.
- Nautobot
CI/CD Pipelines
- Development of pipelines and
workflows
- Github Actions, Jenkins, etc.
Telemetry and Analytics
- Network collectors
- Development on Telemetry
systems (i.e Prometheus,
Grafana)
Software Development Life
Cycle
- Testing
- Release
- Deployment in multiple
environments
Docker Container solutions
- Build containers
- Deployment in runtime
environments: Kubernetes
Data Management & Source of Truth
- Data Modeling, schemas
- Data Governance and Quality
- Data integration and workflows
Systems and Platforms
- Cost analysis
- Infrastructure and data services (Cloud
native architectures, DBs, queues, caches)
Telemetry and Observability
- Collection, Normalization, Enrichment and
Distribution patterns
- Advanced Analytics to create close-loop
solutions
Workflow Orchestration
- Automated workflows architecture
Assembling a Network Automation Team: What is NTC Seeing?
24. @networktocode | Confidential 24
Mapping Skills to Objectives is Key
* Spreadsheets with commands
* Little to no variables
* Config copy-paste
* No version control
* Backups (Rancid, Oxidize)
* Simple templates (Jinja)
* Hardcoded data
* Basic Python
* Simple Ansible Playbooks
* Partial config generation
* Version control (Git)
* Config copy-paste
* Nautobot Apps
* SSoT Data Sync
* Golden config compliance
* YAML augments SoT data
* Robust Ansible playbooks
* Git integrated with SoT
* Deploying SoT
* Modularizing templates
* YAML files hierarchy
* Ansible AWX/Tower
* APIs (GraphQL, REST)
* Automated config deployment
* Structured data (YAML/JSON)
* More logic in templates (Jinja)
* Advanced Ansible Playbooks
* Partial config generation
* Config copy-paste
* Backups via Ansible/Nornir
* Version control (Git)
XLS TXT YAML YAML
YAML
* Config auto-rendered &
* Config manually applied
* Logic in config generation
* Team collaboration
* Backups version controlled
Skills
Objectives
NTC
Courses
* Repeatable configs
* Implicit standard
* Latest version of backups
* Config auto-rendered
* Config auto-deployed
* Data decoupled from config
* Per vendor/model templates
* Template versioning
* Modern backup solution
* Config auto-rendered
* Capturing intended state
* Dynamic inventory
* Data queried via APIs
* GUI for Ansible - AWX/Tower
* Retire power tools
* Plug-and-play apps
* Data stores synced with SoT
* Actual vs intended config
* Team & outcome-based automation
Beginning
Discovery &
Exploration
Network Automation
Platform
Source of Truth
Abstraction
Tools
* Git Fundamentals
* Automating Networks with Python I
* Introduction to Jinja Templating in
Ansible
* Automating Networks with Ansible I
* Development Environments
* Jinja Templating Deep Dive
* Automating Networks with Ansible II
* Collaborative Workflows with Git &
GitHub
* Introduction to Nornir
* Source of Truth & Nautobot
* Automating Networks w/ Python II
* Extending Ansible
* Network Configuration Testing
with Batfish
* Telemetry Deep Dive
* Building a CI/CD Pipeline
* Creating Nautobot Apps
* Getting Started with Linux and Text
Editors
* Introduction to REST APIs
* Introduction to Data Structures
Assembling a Network Automation Team: What is NTC Seeing?
Example Journey
Config Compliance
Backups Dynamic Reports
25. @networktocode | Confidential 25
Ready to Transform with Network Automation?
About Network to Code
Want to learn more?
Email info@networktocode.com or reach out at networktocode.com/contact/
Network to Code is the only services company in the world laser-focused on transforming
the way organizations build, manage, and operate networks on a day-to-day basis.
We have one of the highest concentration of NetDevOps and Network Automation
Engineers in the world.
Network to Code is also the sponsor of Nautobot. Nautobot is the
leading open source Network Source of Truth for Enterprises
looking to adopt a data-driven approach to network automation.