My Account Log in

1 option

Network Automation with Nautobot : Adopt a Network Source of Truth and a Data-Driven Approach to Networking.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Edelman, Jason.
Contributor:
Matthews, Glenn.
VanDeraa, Josh.
Celenza, Ken.
Adell, Christian.
Haas, Brad.
Culver, Bryan.
Anderson, John.
Snider, Gary.
Bushong, Mike.
Language:
English
Subjects (All):
Computer networks.
Computer network protocols.
Physical Description:
1 online resource (816 pages)
Edition:
1st ed.
Place of Publication:
Birmingham : Packt Publishing, Limited, 2024.
Summary:
Transform the way your network teams think about and deploy enterprise network automation through the power of Nautobot's open-source platform Key Features Learn how documenting your network in Nautobot can accelerate your network automation journey Apply NetDevOps to your network by leveraging Nautobot as a network source of truth Minimize tool sprawl by extending, using, or building Nautobot Apps Purchase of the print or Kindle book includes a free PDF eBook Book Description Nautobot enables network teams to build a scalable and extensible network source of truth that provides a foundation to power any network automation stack. With the help of this guide, you'll learn how to deploy, manage, and integrate Nautobot as a source of truth and network automation platform. As you progress, you'll learn what a network source of truth is, the relationship between data and network automation, and network data models. You'll also gain a broad understanding of Nautobot and its robust features that allow maximum flexibility. A dedicated section will show you how to construct a single source of truth with Nautobot and help you explore its programmatic APIs, including REST APIs, GraphQL, webhooks, and Nautobot Job Hooks. Later, you'll develop custom data models and custom apps for Nautobot and experience its extensibility and powerful developer API. In the last part of this book, you'll discover how to deploy configuration compliance and automated remediation once Nautobot is deployed as a network source of truth. By the end of this book, you'll be able to design and manage Nautobot as a network source of truth, understand its key features, and extend Nautobot by creating custom data models and apps that suit your network and your team. What you will learn Understand network sources of truth and the role they play in network automation architecture Gain an understanding of Nautobot as a network source and a network automation platform Convert Python scripts to enable self-service Nautobot Jobs Understand how YAML files in Git can be easily integrated into Nautobot Get to grips with the NetDevOps ecosystem around Nautobot and its app ecosystem Delve into popular Nautobot Apps including Single Source of Truth and Golden Config Who this book is for This book is for network engineers, network automation engineers, and software engineers looking to support their network teams by building custom Nautobot Apps. A basic understanding of networking (e.g. CCNA) and knowledge of the fundamentals of Linux, Python programming, Jinja2, YAML, and JSON are needed to get the most out of this book.
Contents:
Cover
Title Page
Copyright and credits
Foreword
Contributors
Table of Contents
Preface
Part 1: Introduction to Source of Truth and Nautobot
Chapter 1: Introduction to Nautobot
Introduction to network automation
What is network automation?
Network automation use cases
Why automate your network?
Persona-driven network automation
Industry trends
Understanding SoT
Defining SoT
Approaches to SoT
SoT tools and products
Nautobot overview
Nautobot use cases
Network SoT
Network automation platform
Nautobot ecosystem
Summary
Chapter 2: Nautobot Data Models
Nautobot data models overview
Data model summary
Network device inventory data models
Devices
Device components
Device types
Manufacturer
Roles and statuses
Platform
Virtual chassis
Device redundancy groups
Interface redundancy groups
Racks
Locations
Location type
Tenants
IPAM data models
Namespaces
Prefixes
IP addresses
RIRs
VRFs
Route targets
VLANs and VLAN groups
Circuits data models
Circuits
Circuit terminations
Circuit types
Circuit providers
Provider networks
Data model extensibility
Custom fields
Computed fields
Relationships
Config contexts
Custom data models
Part 2: Getting Started with Nautobot
Chapter 3: Installing and Deploying Nautobot
Nautobot architecture overview
Installing Nautobot
Getting Nautobot up and ready on Ubuntu
Installing dependencies
Installing the Nautobot application
Launching Nautobot
Nautobot worker
Nautobot web service
Running Nautobot as Linux services
Loading data into Nautobot
Using the graphical user interface
Chapter 4: Understanding the User Interface and Bootstrapping Nautobot
Understanding the navigation and UI.
Navigation menu
Nautobot home page and panels
Footer navigation
Table views
Detailed views
Managing inventory and bootstrapping your first installation
Identifying your data
Organizational data
Device data
Chapter 5: Configuring Nautobot Core Data Models
IP address management in Nautobot
VLANs
Configuring IP address management in Nautobot
IPAM configuration for Wayne Enterprises
Modeling HA and virtual devices
Device Redundancy Groups
Key differences between device redundancy and virtual chassis
Setting up a firewall redundancy group for Wayne Enterprises in Nautobot
Interface Redundancy Groups
Cabling and power management
Cables
Incorporating power management with cabling
Power panels
Power feeds
Understanding the blast radius through comprehensive data
Secrets management
Why use secrets?
Core concepts
Secrets versus Secrets Groups in Nautobot
Security considerations
Accessing secrets in code
Nautobot Secrets Providers app (plugin) overview
Using Notes, Tags, Changelog, and Filter forms
Notes
Tags
Change log
Filter forms
Best practices for inventory management
Chapter 6: Using Nautobot's Extensibility Features
Statuses
Managing statuses
Applying a status
Use cases for statuses
Best practices for statuses
Managing tags
Applying a tag
Use cases for tags
Best practices for tags
Managing custom fields
Diving into custom field attributes
Validation rules
Custom field choices
Applying a custom field
Use cases for custom fields
Best practices for custom fields
Managing and applying computed fields
Computed field template context.
Use cases for computed fields
Best practices for computed fields
Custom links
Managing and applying custom links
Use cases for custom links
Best practices for custom links
Export templates
Default export templates
Use cases for export templates
Managing and applying export templates
Best practices for export templates
Exploring the config context hierarchy
Managing and applying config contexts
Use cases for config contexts
Config context schemas
Git as a data source
Managing and applying Git data sources
Use cases for data sources
Best practices for data sources
Use cases for relationships
Managing and applying relationships
Creating a relationship
Dynamic groups
Use cases for dynamic groups
Managing and applying dynamic groups
Best practices for dynamic groups
Chapter 7: Managing and Administering Nautobot
Administration with the Admin UI
User, group, and permissions management
Groups
Users
Permissions enforcement
Exploring Nautobot's settings
Understanding setting precedence
Setting banner and support messages
Adding your company's logos and branding
Customizing pagination
Preferred primary IP version
Handling logs
Customizing sanitizer patterns
Common settings
Advanced settings
Setting up and using NAPALM integration
Exploring nautobot-server CLI commands
Creating a superuser account
Exporting and importing data
Cleaning up old scheduled jobs
Retracing corrupted/missing cable paths
Getting help
Exploring the Nautobot Shell
Working with objects
Monitoring Nautobot metrics
Upgrading Nautobot
Troubleshooting Nautobot
Performing a health check
Troubleshooting the configuration
Debugging Nautobot
Summary.
Part 3: Network Automation with Nautobot
Chapter 8: Learning about Nautobot APIs - REST, GraphQL, and Webhooks
Technical requirements
Nautobot REST APIs
Nautobot's interactive API documentation
Understanding Nautobot APIs
API authentication
Using the API with Python
API tips
pynautobot
GraphQL with Nautobot
GraphQL primer
GraphiQL
GraphQL queries with Python
GraphQL versus REST
Webhooks
Exploring webhooks
Example - using a Webhook to trigger an Ansible AWX playbook
Chapter 9: Understanding Nautobot Integrations for NetDevOps Pipelines
Exploring pynautobot
Installing pynautobot
Getting started
Retrieving objects
Updating an object
Deleting an object
Creating an object
Working with Nautobot Apps
Using GraphQL with pynautobot
Using pynautobot to get the next available IP address
Exploring the Nautobot Ansible Collection
Installing the collection
Reading data with Ansible
Ansible write operations
Exploring Ansible inventory sources
Using Nornir Nautobot
Installing Nornir Nautobot
Exploring Nautobot Docker containers
Exploring the Nautobot Go library
Introducing the Nautobot Terraform provider
Chapter 10: Embracing Infrastructure as Code with Nautobot, Git, and Ansible
Setting up the environment
Network topology
Linux host
Ansible
Nautobot
The book's Git repo
Adding data to Nautobot with Ansible
Setting up a dynamic inventory
Backing up network devices
Performing a config replace with Nautobot, NAPALM, and Ansible on Arista and Juniper devices
Performing config changes with Nautobot and Ansible for Cisco IOS devices
Performing config changes with Nautobot and Ansible for Cisco NX-OS devices.
Managing data with config contexts and using Git
Nautobot jobs versus Ansible playbooks
Chapter 11: Automating Networks with Nautobot Jobs
Nautobot Jobs overview
Introduction to the Django ORM
Learning about the Nautobot Shell and ORM
Reading data
Adding and updating data
Deleting data
Adding Jobs to Nautobot
Synchronizing Jobs into Nautobot from a Git repository
Distributing Jobs as part of a Nautobot app
Mounting or placing Jobs directly in JOBS_ROOT
Creating your first Nautobot Job
"Hello World" Nautobot Job
Breaking down and building a Nautobot Job
Adding dynamic dropdowns to your job
Using Jobs to populate data in Nautobot
Converting Python scripts into Nautobot Jobs
Diving into even more Job features
Job buttons
Job Hooks
Job scheduling
Job approvals
The Jobs API
Job permissions
Chapter 12: Data-Driven Network Automation Architecture
Data-driven network automation architecture
Evolution of managed networks
Manually managed networks
Power tool automated networks
Legacy and domain network management managed networks
Infrastructure as Code (IaC) automated networks
Nautobot automated networks
SoT with Nautobot
Integrations and extensibility
SoT life cycle
Nautobot enablers for SoT
Automation and orchestration
Understanding workflows
Nautobot enablers for automation and orchestration
APIs - REST, GraphQL, and Webhooks
Modern network monitoring - telemetry and observability
Data enrichment
Data normalization
Data collection
Closed loop network automation
User interactions
Part 4: Nautobot Apps
Chapter 13: Learning about the Nautobot App Ecosystem
Nautobot Apps overview
Why Nautobot Apps?
Flexibility
Access to SoT data.
Accelerated development.
Notes:
Description based upon print version of record.
Security considerations
Description based on publisher supplied metadata and other sources.
ISBN:
9781837634514
1837634513
OCLC:
1433204696

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account