Data Models
Home » Courses » Building Network Automation Solutions » Data Models
Data Models
The third module of the network automation online course describes data models and data stores. We'll start with an introduction, figure out what NETCONF, YANG and OpenConfig are, and finish with a data model abstraction case study.
1:29:43 Data Models and Data Stores |
||
What is YANG? Why is it useful? Where can I store my data? When should I start using a database instead of text files? What about Excel spreadsheets? What’s the difference between relational and NoSQL databases? You’ll get answers to all these questions in this section. You’ll also learn how to build a data model describing your network and how you can transform a network- or services-focused data model into a device-focused data model (and when that would be useful). |
||
Data Models and Data Stores | 2.2M | 2017-01-27 |
Data Models - Introduction | 12:53 | 2017-01-27 |
Building a Data Model | 30:06 | 2017-01-27 |
Data Model Transformations | 14:12 | 2017-01-27 |
Data Description Languages | 9:47 | 2017-01-27 |
Data Stores | 22:45 | 2017-01-27 |
1:19:59 NETCONF, YANG and OpenConfig |
||
The guest presentation by Marcel Wiget (Juniper) describes YANG data models, briefly introduces NETCONF, and shows how you can use OpenConfig or your custom data model (described in YANG) to configure Junos devices. |
||
Vendor-Neutral YANG Data Models | 1.8M | 2017-01-20 |
Introduction to NETCONF and YANG | 26:27 | 2017-01-27 |
OpenConfig and Custom YANG Data Models | 14:24 | 2017-01-27 |
Using YANG Data Models on Junos | 39:08 | 2017-01-27 |
58:07 Using YANG Data Models on Traditional Network Devices with napalm-yang |
||
While configuring network devices with OpenConfig sounds really interesting, don't expect to be able to do it any time soon - the vendors are (as usual) very reluctant to add yet another layer of indirection on top of their already-bloated software. David Barroso decided to fix that problem within NAPALM, and wrote a set of libraries (napalm-yang) that perform translation between OpenConfig (or any other) YANG data model and device configurations. |
||
What Are YANG and OpenConfig | 15:32 | 2017-10-13 |
napalm-yang Basics | 10:29 | 2017-10-13 |
Advanced napalm-yang Features | 10:01 | 2017-10-13 |
napalm-yang Integration with Ansible | 22:05 | 2017-10-13 |
Slide deck: OpenConfig with NAPALM | 2.7M | 2017-10-09 |
Understanding Ansible |
||
You won’t be able to follow the rest of this module without a thorough understanding of Ansible. If you haven’t completed the Ansible for Networking Engineers online course, please do it now, and focus on the data modeling part of DMVPN case study. |
||
42:29 Abstract Everything |
||
In this part of the Network Automation Use Cases webinar David Barroso walks you through layers of network automation abstraction: from abstracting vendor-specific APIs with NAPALM to abstracting device configuration differences, and finally abstracting device state into infrastructure data model. |
||
Template Multi-Vendor Deployments | 8:52 | 2017-07-21 |
Abstract Vendor API | 8:42 | 2017-07-21 |
Automate Everything | 6:35 | 2017-07-21 |
Abstract Everything | 18:20 | 2017-07-21 |
Additional resources |
||
Slide deck | 4.1M | 2016-11-18 |
Source code for examples used in this section | ||
1:41:44 Intent-Based Networking and Data Models |
||
Most of the intent-based systems are nothing more than a fancy orchestration system with an abstraction layer. This section describes the many levels of abstraction you can implement in such a system, and the data models you would need to do it. |
||
What Is Intent-Based Networking | 8:17 | 2018-04-04 |
Device Configuration as Intent | 13:47 | 2018-04-04 |
Abstracting and Managing Device-Level Intent | 19:34 | 2018-04-04 |
Network-Wide Intent | 23:21 | 2018-04-04 |
Automated Remediation | 18:52 | 2018-04-04 |
Back to Reality | 10:31 | 2018-04-04 |
Questions and Answers | 7:22 | 2018-04-04 |
Additional resources |
||
Slide deck | 2.9M | 2018-01-13 |
Service models explained (RFC 8309) | ||
YANG model for L3VPN service delivery | ||
YANG model for L2VPN service delivery | ||
34:02 Transforming Data Models with Ansible |
||
Orchestration systems with an abstraction layer usually use network- and services data models to describe the desired system functionality, and device (or node) data models to describe the target state of the system. In every such system, someone has to perform the mapping between the high-level and low-level data models, and this section describes how you can do that with Ansible. |
||
Transforming Data Models with Ansible | 17:28 | 2017-10-13 |
Data Models - Discussion Questions | 16:34 | 2017-10-13 |
Slide Deck: Transforming Data Models with Ansible | 2.3M | 2017-10-20 |
1:23:27 Free items Data Center Fabrics Data Model |
||
In another network automation use case Dinesh Dutt talked about automated data center fabric deployments. Focus on how simple his data model is and how he builds a whole fabric from just a few configurable parameters. |
||
Challenges of Data Center Fabric Deployments
![]() |
20:02 | 2017-08-10 |
Separate Data from Code
![]() |
12:56 | 2017-08-10 |
Ansible Tips and Tricks
![]() |
9:19 | 2017-08-10 |
Validation
![]() |
12:51 | 2017-08-10 |
Staging and Production
![]() |
11:10 | 2017-08-10 |
Fabric Deployment Demo
![]() |
17:09 | 2017-08-10 |
Additional resources |
||
Slide deck | 1.6M | 2017-01-24 |
Source code for examples used in this section | ||
Free items Hands-on exercises |
||
In the hands-on exercises you’ll build a data model for your network automation solution and store it in one or more YAML files. |
||
Homework: Create an infrastructure or services data model | 6.4K | 2018-12-24 |
Submit your homework | ||
Overview: Submitting Hands-On Exercise Solutions | ||
Useful Tips and Tricks |
||
Data (de)Duplication in Network Automation Data Models | ||
Data Munging with Ansible and Jinja2
![]() |
7.5K | 2018-12-24 |
Optional Materials |
||
1:18:10 Manipulating Network Information with Python |
||
Hans Verkerk guided us you through some easy-to-understand scripts written in Python. These scripts abstract Cisco IOS configurations into Python data structures, enabling you to query the data gathered from network devices using standard Python utilities in a simple but effective way. |
||
Storing Information into Python Data Structures | 32:18 | 2020-02-23 |
Parsing Device Configuration Files | 10:17 | 2020-02-23 |
Validating Campus Network Configurations | 12:59 | 2020-02-23 |
Improved Device Configuration Parsing | 5:10 | 2020-02-23 |
Migration Example | 17:26 | 2020-02-23 |
Slide Deck | 1.7M | 2019-10-25 |
Additional Informations |
||
Data Manipulation with Python Built-In Superheroes | ||
Source code for live demos | ||
Additional resources |
||
Want to know even more about data models in network automation? You might enjoy these webinars and presentations. |
||
NETCONF and YANG | 4:25:00 | |
If you want to know more about NETCONF, watch at least the first part of NETCONF and YANG webinar with David Gee (~ 1 hour if you skip the hands-on part). You might also want to watch the NETCONF Deep Dive section to understand the NETCONF protocol details. |
||
The Single Source of Truth for Automatic Network Configuration by Andy Davidson | ||
Slides for "The Single Source of Truth for Automatic Network Configuration" presentation |