๐ Module 1: Introduction to NetDevOps
โฑ๏ธ Estimated Duration: 90 Minutes
Learning Objectives: After this module, you will understand what NetDevOps is, why it has become indispensable for modern network teams, know the basics of VXLAN/EVPN, understand what NDFC is, and have explored your lab environment.
๐ค Part 1: Why NetDevOps? (30 Min)
Pain Points in Everyday Network Operations
Before we look at what NetDevOps is, let us ask ourselves: What is currently going wrong? Here are typical situations that probably every network engineer knows:
๐ซ Pain Point 1: The "Snowflake Switch"
You have 50 switches in the data center. In theory, they are all configured the same way.In theory.
In practice, Klaus "quickly adjusted something" on Switch-17 three years ago. Maria "just real quick" forgot to remove a debug command on Switch-23. And Switch-42? No idea, it just somehow works.
โ Every switch is unique like a snowflake. And just as fragile.
๐ซ Pain Point 2: "But it was working last week!"
It is Monday, 8 AM. The ticket system is exploding. "VPN is down." "Application XY cannot reach the database." "Internet is slow."
What happened? Who changed something over the weekend? You ask around. Nobody did it. "I didn't do anything!"
Three hours later, someone finds in an audit log: Friday night, 11:47 PM, an ACL was modified. By whom? Not listed. Why? Not listed either.
โ Changes are not traceable. Troubleshooting becomes a guessing game.
๐ซ Pain Point 3: The Copy-Paste Marathon
Create a new VLAN. Should take 5 minutes, right?
SSH into Switch 1. Type the commands. SSH into Switch 2. Same commands. Switch 3... Switch 4... On Switch 27, you make a typo. Switch 28... Was that Interface Eth1/1 or Eth1/11? Better check again...
4 hours later: Done. But are all switches really configured correctly?Hopefully.
โ Manual, repetitive work is error-prone and eats up time.
๐ซ Pain Point 4: "Rollback? What backup?"
The change went wrong. The core switch is acting up. The boss is yelling. "Undo it! Now!"
Okay, where is the backup? TFTP server? Last backup... 47 days ago. But 23 changes have been made since then...
โ No reliable rollback. Every change feels like Russian roulette.
What is NetDevOps exactly?
NetDevOps = Network + DevOps. It brings proven practices from software development into the networking world:
- Version Control: Every change is saved, like "Track Changes" in Word โ only better.
- Automation: Machines do the boring, repetitive work.
- Testing: Changes are verified before they are deployed to production.
- Continuous Integration: Small, frequent changes instead of big-bang rollouts.
Analogy: The Restaurant
Imagine you are running a restaurant:
๐ณ Without Recipes (= Traditional)
- โข The chef cooks from memory
- โข Every dish tastes different
- โข If the chef is sick = chaos
- โข New cook? 6 months of training
- โข "The schnitzel was better last week!"
๐ With a Recipe Book (= NetDevOps)
- โข Every recipe is documented
- โข Consistent quality, always
- โข Any cook can prepare any dish
- โข New cook? Read the recipe book, get started
- โข Recipe improved? Updated for everyone
Analogy: The Car Factory
Or think of a car factory:
Before the assembly line (1900): Every car was built individually by hand. A master and his apprentices. 12 hours per car. Each one unique. Expensive.
After the assembly line (Ford, 1913): Standardized steps. Documented processes. Every car is the same. 93 minutes per car. Affordable.
NetDevOps is the assembly line for network configuration. ๐ญ
The Traditional Way vs. NetDevOps
โ Traditional
- โข SSH into each switch individually
- โข Copy-paste from Word documents
- โข "That's how Klaus always did it"
- โข Changes are hard to trace
- โข Rollback? Backup from last week...
- โข Testing? "It'll probably work..."
- โข Documentation? In Klaus's head
โ NetDevOps
- โข Configuration as code in Git
- โข Automated deployments
- โข Documented, reviewable changes
- โข Every change is traceable
- โข Rollback with a single Git command
- โข Automated validation
- โข Code IS the documentation
๐ Part 2: Infrastructure as Code (IaC) (15 Min)
The core of NetDevOps is Infrastructure as Code (IaC). The idea is simple: Instead of entering configurations manually via a CLI or GUI, you describe the desired state in text files.
What does "as Code" mean?
When we say "as Code", we mean:
- Text files: Readable, editable, searchable
- Versioned: Stored in Git, every change traceable
- Declarative: You describe WHAT you want, not HOW
- Executable: A tool reads the file and implements it
Imperative vs. Declarative
This is an important distinction:
๐ง Imperative (traditional)
You say step by step WHAT to do:
๐ Declarative (IaC)
You describe the TARGET STATE:
The tool takes care of the rest.
Benefits of IaC
โจ Why IaC Makes Your Life Better
- ๐ Reproducible: Same code = Same result. Always. Everywhere.
- ๐ Documented: The code IS the documentation. No more outdated Word documents.
- ๐ Reviewable: Colleagues can review changes BEFORE they go live.
- โช Rollback: Something broken?
git revertand done. - ๐งช Testable: Syntax check, validation, dry-run โ all automated.
- ๐ Scalable: 1 switch or 1000 โ the effort is the same.
A Concrete Example
This is what Infrastructure as Code looks like for a VXLAN fabric:
# Infrastructure as Code - VXLAN Fabric Definition
# This file describes the TARGET STATE of our fabric
fabric:
name: FI-DataCenter-Prod
fabric_type: vxlan_evpn
# BGP configuration
bgp:
asn: 65001
# Underlay network
underlay:
protocol: ospf
area: 0.0.0.0
network: 10.0.0.0/8
# Spine switches
spines:
- name: dc1-spine-1
management_ip: 10.1.1.1
loopback: 10.255.1.1
role: spine
- name: dc1-spine-2
management_ip: 10.1.1.2
loopback: 10.255.1.2
role: spine
# Leaf switches
leaves:
- name: dc1-leaf-1
management_ip: 10.1.2.1
loopback: 10.255.2.1
role: leaf
uplinks:
- spine: dc1-spine-1
interface: Eth1/49
- spine: dc1-spine-2
interface: Eth1/50
- name: dc1-leaf-2
management_ip: 10.1.2.2
loopback: 10.255.2.2
role: leaf
uplinks:
- spine: dc1-spine-1
interface: Eth1/49
- spine: dc1-spine-2
interface: Eth1/50
# VRFs and networks are defined in separate files
# See: networks/ folderThis file is readable, versionable, and states exactly how the fabric should look. No ambiguity, no "only Klaus knows that" moments.
๐ Part 3: VXLAN/EVPN Basics (15 Min)
Before we do VXLAN as Code, we should understand WHAT VXLAN and EVPN actually are. Don't worry, we will keep it understandable โ no RFC recitation!
The Problem: VLANs Don't Scale
Classic VLANs have a problem: They only exist at Layer 2 and are limited to 4096 (12-bit VLAN ID). In modern data centers with virtualization, multi-tenancy, and cloud requirements, that is no longer enough.
๐ค The VLAN Dilemma
- โข Max. 4096 VLANs (often fewer usable)
- โข Spanning Tree = slow convergence, blocked paths
- โข Layer 2 broadcast domains become huge and slow
- โข Difficult to stretch across multiple data centers
The Solution: VXLAN
VXLAN (Virtual Extensible LAN) solves these problems by encapsulating Layer 2 frames in UDP packets and tunneling them over a Layer 3 network.
๐ฆ VXLAN in One Minute
- VNI (VXLAN Network Identifier): 24 bits = 16 million possible networks instead of just 4096
- VTEP (VXLAN Tunnel Endpoint): The switch that encapsulates and decapsulates the packets
- Overlay: The virtual Layer 2 network that sits on top of everything
- Underlay: The physical Layer 3 network underneath (IP routing)
Analogy: The Postal Service
Imagine you want to send a letter from Munich to Hamburg, but you can only communicate within your office building (Layer 2):
Without VXLAN: You would have to build a private pneumatic tube from Munich to Hamburg. Expensive, inflexible.
With VXLAN: You put your letter (Layer 2 frame) in an envelope (UDP packet) and send it via postal service (IP network). At the destination, it gets unwrapped and delivered. Done!
What is EVPN?
EVPN (Ethernet VPN) is the "Control Plane" for VXLAN. It determines WHO can talk to WHOM and WHERE the MAC addresses are.
EVPN = How the switches learn which MAC addresses are where (Control Plane).
Together they form VXLAN/EVPN โ the standard for modern datacenter fabrics.
EVPN Benefits
- No Flooding: Instead of flooding broadcasts, switches exchange information via BGP
- Fast Convergence: BGP is fast and stable
- Multi-Homing: A server can be connected to multiple switches (active/active)
- Layer 2 + Layer 3: EVPN can do both โ distribute MAC addresses AND IP routes
VXLAN Fabric Topology
๐๏ธ Spine-Leaf Architecture
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ SPINE-1 โ โ SPINE-2 โ
โ (BGP RR) โ โ (BGP RR) โ
โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโ
โ โ โ โ
โโโโโโโดโโโโโโ โโโโโโโดโโโโโโ โโโโโโโดโโโโโโ โโโโโโโดโโโโโโ
โ LEAF-1 โ โ LEAF-2 โ โ LEAF-3 โ โ LEAF-4 โ
โ (VTEP) โ โ (VTEP) โ โ (VTEP) โ โ (VTEP) โ
โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ
โ โ โ โ
Server Server Server Server
- โข Spines: Connect all leafs, only do routing (no storage/servers)
- โข Leafs: This is where servers, storage, firewalls connect โ the VTEPs
- โข Every leaf is connected to every spine = maximum redundancy
๐งช What is Cisco Modeling Labs (CML)?
Cisco Modeling Labs (CML) is a network simulation environment from Cisco where you can build and test virtual network topologies. CML allows you to run real Cisco images (NX-OS, IOS-XE, etc.) in a virtual environment โ perfect for lab environments and testing before production deployment.
In our workshop, we use CML to simulate a VXLAN/EVPN fabric with Nexus switches. The lab "FI - VXLAN as Code Workshop" contains a complete spine-leaf topology with 2 spines and 2 leafs that we will manage via NDFC and configure through code.
โ ๏ธ Important: The lab must be powered on first!
The lab "FI - VXLAN as Code Workshop" is turned off by default. You need to start it (Start Lab) in CML before the switches are reachable. Booting up may take a few minutes โ wait until all nodes are green.
Benefit: You can safely experiment, test configurations, and simply reset the lab if something goes wrong โ without risking real hardware.
๐ Part 4: Nexus Dashboard & NDFC (10 Min)
Now we know WHAT VXLAN/EVPN is. But how do you configure that on 50 switches? This is where Nexus Dashboard comes in.
What is Nexus Dashboard?
Nexus Dashboard is Cisco's central management platform for datacenter networks. It is like the cockpit for your entire fabric.
๐๏ธ Nexus Dashboard at a Glance
- Centralized Management: All switches from a single interface
- Fabric Controller (NDFC): Automates VXLAN/EVPN deployments
- Insights: Monitoring, troubleshooting, compliance checks
- Orchestrator: Multi-site connection of multiple fabrics
What is NDFC?

NDFC (Nexus Dashboard Fabric Controller) โ formerly DCNM (Data Center Network Manager) โ is THE component for us. NDFC:
- Knows all switches and their connections
- Generates the complete VXLAN/EVPN configuration
- Pushes configs to the switches
- Shows the current status of the fabric
- Provides a REST API for automation (๐ That is what we use!)
The Workflow with NDFC
NDFC is the bridge between our code and the switches.
๐ฌ Part 5: Hands-on Exercises (15 Min)
Enough theory! Time to get your hands dirty. In the following exercises, you will explore your lab environment.
๐งช Exercise 1: Explore the Lab Environment (5 Min)
Your lab environment runs in the Cisco Cloud. Follow these steps to access your personal environment:
- Log in at dcloud.cisco.com
- Click on "My Hub"
- Select "Sessions"
- Click "View" on your assigned session
- Open the WebRDP connection to connect via Remote Desktop to the Windows machine running in the browser

On the Windows machine, you have access to all lab components. Open the following services in separate browser tabs:
VS Code is installed locally on the desktop. Launch it via the desktop icon.
โ This is where we write and edit our code
URL: https://198.18.133.100/
Username: root
Password: C1sco12345โ This is where we version our code and trigger pipelines
URL: https://198.18.133.101/
Username: admin
Password: C1sco12345โ This is where we see our fabric and what has been deployed
URL: https://198.18.134.1/
Username: admin
Password: C1sco12345
Lab Name: FI - VXLAN as Code Workshopโ This is where our simulated VXLAN/EVPN fabric with Nexus switches runs
โ ๏ธ Important: The lab "FI - VXLAN as Code Workshop" must be started first! Click on the lab and then on "Start Lab". Booting up takes a few minutes โ wait until all nodes are green.
| Switch | IP | Username | Password |
|---|---|---|---|
| spine01 | 198.18.1.181 | ndfc | C1sco12345 |
| leaf01 | 198.18.1.182 | ndfc | C1sco12345 |
| spine02 | 198.18.1.183 | ndfc | C1sco12345 |
| leaf02 | 198.18.1.184 | ndfc | C1sco12345 |
๐ก You can use mRemoteNG to access the switches via CLI, or use the Terminal directly in CML.
- โ VS Code is open and showing the project
- โ GitLab shows the repository
- โ NDFC login works
- โ CML is reachable and the lab is running
- โ Switch access tested via mRemoteNG or CML Terminal
๐งช Exercise 2: Explore NDFC (5 Min)
Navigate through NDFC and answer the following questions:
- Click on Fabric Controller on the left
- Select Fabrics from the menu
- Open the fabric
DBSat-Site1 - Take a look at the topology view
- โข How many switches are in the fabric?
- โข What roles do the switches have (Spine/Leaf)?
- โข Is the fabric currently "In-Sync" or "Out-of-Sync"?
- โข Are there already VRFs or Networks configured?
๐งช Exercise 3: Group Discussion (5 Min)
Discuss with your neighbors:
"What manual, repetitive tasks do you do in your daily or weekly network operations?"
Examples to get started:
- โข Creating VLANs on multiple switches
- โข Port configurations for new servers
- โข Making ACL changes
- โข Creating backup configurations
- โข Updating documentation
Write down 2-3 tasks that you would like to automate. At the end of the workshop, we will check if we have found solutions for them!
โ Part 6: Quiz & Reflection (5 Min)
Test your knowledge! Try to answer the questions without scrolling back.
1. What does "NetDevOps" mean?
Show Answer
NetDevOps = Network + DevOps. It brings software development practices (version control, automation, testing, CI/CD) into the networking world.
2. What is the difference between imperative and declarative?
Show Answer
Imperative: Step-by-step instructions (HOW something is done).
Declarative: Description of the target state (WHAT the result should be).
3. What does VNI stand for and how many VNIs are possible?
Show Answer
VNI = VXLAN Network Identifier. With 24 bits, approximately 16 million VNIs are possible (vs. only 4096 VLANs with 12 bits).
4. What is a VTEP?
Show Answer
VTEP = VXLAN Tunnel Endpoint. This is the switch that encapsulates and decapsulates Layer 2 frames into VXLAN packets. In a spine-leaf fabric, the leafs are the VTEPs.
5. What does NDFC do?
Show Answer
NDFC (Nexus Dashboard Fabric Controller) is the central management platform for VXLAN/EVPN fabrics. It knows all switches, generates configurations, pushes them to the devices, and provides a REST API for automation.
๐ฏ Reflection
Think for a moment: Which of the four pain points from the beginning (snowflake switches, lack of traceability, copy-paste marathon, no rollback) affects you the most? Keep that in mind โ by the end of the workshop, that should be solved!
๐ Summary
โ What You Learned in This Module
- โ๏ธ Why NetDevOps: The pain points of traditional network management
- โ๏ธ What NetDevOps is: DevOps practices for networks (versioning, automation, testing)
- โ๏ธ Infrastructure as Code: Declarative configuration in text files instead of manual CLI commands
- โ๏ธ VXLAN/EVPN: Modern overlay network for scalable data centers
- โ๏ธ Nexus Dashboard & NDFC: The central control for your fabric
- โ๏ธ Your Lab Environment: VS Code, GitLab, and NDFC are ready to go
๐ฎ Preview: What's Next?
In the next module, you will learn about Git โ the backbone of every NetDevOps implementation. You will see how to version changes, trace them, and roll them back when needed. Don't worry, it is easier than it looks!