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 in the industry 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 various automation and programmability tools
to develop Python scripts and Ansible playbooks to deploy and verify a VXLAN EVPN fabric using Cisco Open NXOS in a staging
fabric before deploying and verifying a production (prod) fabric through NetDevOps methodology.
The lab environment makes use of
the Nexus 9000v in Cisco Modeling Labs (CML) to provide each student with a staging fabric and prod fabric consisting of three-nodes; a Spine and two Leaf
switches. CML and the N9Kv were developed for purposes such as the use in this lab; to test out topologies and the
programmable interfaces available for the Nexus 9000 series switch(s). Additionally, the N9Kv can be deployed in VMWare,
KVM, and Vagrant.
The lab will guide you through the following:
There are various implementation models for programming and automating networking devices or entire fabrics, these include:
This lab will focus on off-box interactions and predominantly make use of Ansible's agentless architecture (requiring no agent) for NXOS and NDFC.
The lab from a high level has the following sections:
Please continue to setup your development environment!