Skip to content

Lab Overview

This learning lab provides a comprehensive overview of SDWAN (Software-Defined Wide Area Network) technology, focusing on its implementation and management using Cisco SDWAN solutions. The lab is designed to help users understand the key concepts, configurations, and operational aspects of SDWAN in a network environment.

This document is a comprehensive guide to understanding Network as Code (NaC) which utilizes Infrastructure as Code (IaC) principles to manage configuration for Cisco SDWAN. The focus of this guide is specific to the SDWAN fabric type. The guide is structured to provide a clear understanding of the concepts and tools involved to effectively manage and deploy an SDWAN fabric; combining the power of Infrastructure as Code automation concepts and Cisco SDWAN’s features and capabilities.

There are several sections in this guide; each section focusing on different aspects of Network as Code and Cisco SDWAN. It includes practical examples, best practices, and detailed explanations to help you understand the concepts. The guide is accompanied by a Cisco dCloud lab environment.

This guide contains elements to assist you in making changes. The primary interface that you will be using is a web-based version of Visual Studio Code (known as Code Server) that is pre-configured with the necessary tools and extensions to work with Network as Code. This takes the role of a development environment (IDE - Integrated Development Environment) that you will use to modify the data model for Network as Code.

You will find in the guide both reference material for learning and then direct Steps for you to follow. These steps can also include code snippets or CLI commands for you to copy and paste into your Code Server terminal. In the guide you will see elements as:

Terminal window
cd ~/network-as-code/nac-sdwan

That you can copy and paste easily via the button that appears when you hover over the code snippet. There is also screenshots of specific elements, including Cisco SDWAN to guide you on specific tasks.

Some of these commands that you copy seem redundant, but are designed such that the command always works even if you have changed directories, or explored different parts of the directory structure.

The guide is intended to be directional. Each section of the guide will provide you builds towards the next section and are all connected. The best approach is to follow the guide in order.

This table of contents provides a view of the different sections of the guide and the respective topics.

StepTopicDescription
1Introduction to Infrastructure as CodeThis section introduces the concept of Infrastructure as Code and its relevance to network automation. Understanding what Infrastructure as Code is compared to other methods of automation is a critical factor in comprehending the value that operators are pursuing with this capability.
2Understanding Network as CodeThis section explains the principles of Network as Code and how it applies to Infrastructure as Code for SDWAN. Network as Code has components that are standard capabilities across the portfolio, including pre-change and post-change validation tools.
3Network as Code for Cisco SDWANThis section provides an overview of the tools and technologies used in Network as Code for Cisco SDWAN. Network as Code for SDWAN is a capability with unique requirements due to its Terraform-based implementation and SD-WAN Manager integration.
4dCloud Setup for Network as Code for SDWANThis section guides you through setting up the environment for dCloud that you will utilize for this guide.
5Setup Network as Code for Cisco SDWANThis section will go into the details of how you setup your environment for Network as Code Cisco SDWAN.
6Building a SDWAN Data Model for a CustomerThis section explains how to build a data model for a customer using Network as Code SDWAN. As a Network engineer utilizing a declarative approach, the data model represents the primary focus area to define what the customer is intending to configure in the network.
7Deploying an SDWAN Fabric with Network as CodeOnce you have created the data model that represents the intended configuration state of Cisco SDWAN, you will deploy that configuration so that it deploys the configuration to the network devices.
8Integrated testing in Network as CodeOne integral part of Infrastructure as Code is the inclusion of integrated testing to validate changes are pushed correctly into the controller, thus the network. Network as Code provides integrated testing that validates the configuration and operational state before and after changes to the network.
9Overview of Automation PipelinesInfrastructure as Code and automation pipelines go hand in hand. While delivery engineers using this capability to deliver a configuration to a customer might not utilize a software pipeline, customers that intend to keep the Network as Code solution for day-2 operations will most likely want to integrate this capability into their network.
10Automation Pipelines with Network as Code for SDWANIn this section, you will setup a working software pipeline for Network as Code SDWAN to validate, stage, deploy, and test configuration changes.