Introduction
Cisco Programmable Fabric

About this Lab!

It has been some time now since the concept of Software Defined Networks (SDN) has entered the networking industry and marketplace. The fundamental principle of SDN is to interact with networks programmatically to deploy, control, change, and manage network devices using open interfaces. Over time, the tools for this programmatic interaction have evolved into controllers and DevOps tools that have introduced a mindset shift in the industry to representing network infrastructure as code. Two common terms for this are Infrastructure as Code (IaC) and Network as Code (NaC). The mindset change brings the managing and provisioning of infrastructure through software development practices and code instead of performing these tasks manually.




In this lab, you assume the role of a network automation engineer. You will use Ansible playbooks to deploy and verify a VXLAN EVPN fabric using Cisco Nexus Dashboard (ND).
Cisco ND is the comprehensive management and automation solution for all Cisco Nexus and Cisco Multilayer Distributed Switching (MDS) platforms powered by Cisco NX-OS.

ND provides management, automation, control, monitoring, and integration for deployments spanning LAN, SAN, and IP Fabric for Media (IPFM) fabrics. ND facilitates seamless interconnectivity, automation, and management for hybrid-cloud environments.






Using Infrastructure as Code (IaC) principles, you will develop, deploy, and test a multi-site environment that includes two fabric sites: Site1 and Site2. Each site has its own Inter-Site Network (ISN) fabric, and Site1 also has an External fabric.


Cisco Modeling Labs (CML)



The lab environment uses the Nexus 9000v in Cisco Modeling Labs (CML) to provide each student with a multi-site environment. CML and the N9Kv were developed to enable learning and testing various topologies and programmable interfaces. N9Kv can be deployed in VMware, KVM, and Vagrant.


The lab will guide you through the following:

  • Dev Setup: You will start by setting up your development environment for future sections of the lab. You can take the concepts from this section and apply them in your own environment after Cisco Live.

  • VXLAN as Code: Next you will build out a VXLAN EVPN fabric using VXLAN as Code. This solution combines IaC principles and a data model-driven abstraction layer to simplify the way network configuration is described. This will introduce you to the VXLAN as Code Ansible collection that is built on top of the ND Ansible collection.

  • NetDevOps: Finally, you will develop test automation and integrate it into a Continuous Integration, Continuous Delivery (CI/CD) pipeline to automatically deploy, test, and validate network changes like adding new networks or VRFs to your VXLAN fabric.

The lab consists of the following sections:

  • Introduction
  • Dev Setup
  • Nexus Dashboard
  • Network as Code
  • NaC Site1 Fabric
  • NaC Site2 Fabric
  • NaC Site1 ISN
  • NaC Site2 ISN
  • NaC MSD Fabric
  • Cisco pyATS
  • NetDevOps
  • Bonus: Terraform
  • Reference: Ansible

Please continue to set up your development environment!