1 option
Network Automation with Nautobot : Adopt a Network Source of Truth and a Data-Driven Approach to Networking.
- Format:
- Book
- Author/Creator:
- Edelman, Jason.
- 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.