What this book covers
Chapter 1, Introduction to Nautobot, is a comprehensive overview of network automation, data, and sources of truth. It introduces Nautobot and its key use cases and lays the foundation for the rest of the book.
Chapter 2, Nautobot Data Models, dives into the built-in core data models of Nautobot, highlighting the breadth and depth of Nautobot as a Network Source of Truth. It provides an understanding of the relationships between the components that comprise a network modeled in Nautobot.
Chapter 3, Installing and Deploying Nautobot, explores the architecture of Nautobot and then takes you through your first Nautobot deployment. You’ll learn how to install each core component (Nautobot itself, workers, scheduler, database, etc.) and start to configure and load data into Nautobot.
Chapter 4, Understanding the User Interface and Bootstrapping Nautobot, explains how to add devices to your fresh Nautobot installation, including learning about many other attributes and models and how they relate to your inventory.
Chapter 5, Configuring Nautobot Core Data Models, dives deep into adding and configuring Nautobot with IP addresses, circuits, cabling and power management, secrets, and modeling high-availability, and covers notes, tags, the changelog, and filter forms.
Chapter 6, Using Nautobot’s Extensibility Features, demonstrates how flexible Nautobot is by leveraging its extensibility feature set, which allows users to customize Nautobot to their specific network or design. You’ll learn about using Git as a data source, Config Contexts and JSON schemas, relationships, and much more.
Chapter 7, Managing and Administering Nautobot, focuses on Nautobot platform administration. It enables a platform admin to best administer Nautobot using the nautobot-server
command and manage permissions, along with tips for upgrading and troubleshooting Nautobot.
Chapter 8, Learning about Nautobot APIs – REST, GraphQL, and Webhooks, explains how Nautobot is integrated with other tools by examining its APIs. This chapter first covers its RESTful and GraphQL APIs, then goes into webhooks, setting the stage to learn about Jobs and JobHooks in Chapter 11.
Chapter 9, Understanding Nautobot Integrations for NetDevOps Pipelines, explores Nautobot integrations with a focus on pynautobot
and its Ansible collection, while providing an overview of its Docker, Kubernetes, Terraform, and Go projects.
Chapter 10, Embracing Infrastructure as Code with Nautobot, Git, and Ansible, focuses on enabling users who use both Ansible and Nautobot together. It provides a deeper look at the Ansible collection, explains how to set up dynamic inventory, and then builds a playbook using various Ansible modules to perform network automation.
Chapter 11, Automating Networks with Nautobot Jobs, begins with an overview and an introduction to the Django ORM, then walks through how to create Jobs, migrate scripts to Nautobot, and create self-service forms that allow anyone to execute Jobs. Beyond setup and configuration, Job permissions, logging, and scheduling, approvals are also covered.
Chapter 12, Data-Driven Network Automation Architecture, dives into network automation architecture and highlights why data-driven network automation is the best approach to guarantee success in a network automation journey, and explains how this is accomplished with Nautobot and its surrounding ecosystem.
Chapter 13, Learning about the Nautobot App Ecosystem, demystifies the Nautobot app ecosystem and reveals all that the ecosystem has to offer, while highlighting the best is yet to come and is in the hands of the community.
Chapter 14, Intro to Nautobot App Development, provides an overview of the developer API that is used to extend Nautobot and create Nautobot apps, ranging from lightweight Nautobot apps that are only data models to full-blown apps that cater to specific outcomes.
Chapter 15, Building Nautobot Data Models, covers real-world use cases for building custom Nautobot with a case study of an organization that needs custom data models and walks through the path to create them from start to finish.
Chapter 16, Automating with Nautobot Apps, continues building the app from the previous chapter, showcasing how Jobs can be packaged with apps to create an end-to-end network automation solution.
Appendix 1, Nautobot Architecture, dives into the internal components of Nautobot, reviewing its use of Django, Celery, Beat, and databases such as Postgres and MySQL for those who want to understand Nautobot at a deeper level.
Appendix 2, Integrating Distributed Data Sources of Truth with Nautobot, introduces the problem of managing distributed data sources and explains how Nautobot can be used as part of the solution to integrate and aggregate data by using the Nautobot Single Source of Truth framework. Solving network data problems in large enterprises is not a trivial task.
Appendix 3, Performing Config Compliance and Remediation with Nautobot, explains how Nautobot Golden Config can be used to conquer the most common use cases in networking, including backups, generating intended configurations, and ultimately performing compliance and remediation.