Practical Network Automation - Second Edition

Book description

Leverage the power of Python, Ansible and other network automation tools to make your network robust and more secure

Key Features

  • Get introduced to the concept of network automation with relevant use cases
  • Apply Continuous Integration and DevOps to improve your network performance
  • Implement effective automation using tools such as Python, Ansible, and more

Book Description

Network automation is the use of IT controls to supervise and carry out everyday network management functions. It plays a key role in network virtualization technologies and network functions.

The book starts by providing an introduction to network automation, and its applications, which include integrating DevOps tools to automate the network efficiently. It then guides you through different network automation tasks and covers various data digging and performing tasks such as ensuring golden state configurations using templates, interface parsing. This book also focuses on Intelligent Operations using Artificial Intelligence and troubleshooting using chatbots and voice commands. The book then moves on to the use of Python and the management of SSH keys for machine-to-machine (M2M) communication, all followed by practical use cases. The book also covers the importance of Ansible for network automation, including best practices in automation; ways to test automated networks using tools such as Puppet, SaltStack, and Chef; and other important techniques.

Through practical use-cases and examples, this book will acquaint you with the various aspects of network automation. It will give you the solid foundation you need to automate your own network without any hassle.

What you will learn

  • Get started with the fundamental concepts of network automation
  • Perform intelligent data mining and remediation based on triggers
  • Understand how AIOps works in operations
  • Trigger automation through data factors
  • Improve your data center's robustness and security through data digging
  • Get access infrastructure through API Framework for chatbot and voice interactive troubleshootings
  • Set up communication with SSH-based devices using Netmiko

Who this book is for

If you are a network engineer or a DevOps professional looking for an extensive guide to help you automate and manage your network efficiently, then this book is for you. No prior experience with network automation is required to get started, however you will need some exposure to Python programming to get the most out of this book.

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Practical Network Automation Second Edition
  3. About Packt
    1. Why subscribe?
  4. Contributors
    1. About the author
    2. About the reviewer
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  6. Fundamental Concepts of Network Automation
    1. Technical requirements
    2. A readable script
    3. Basic programs
      1. Validating an IPv4 address
      2. Making the right choice
      3. Hiding credentials
      4. Accessing APIs
      5. Using regular expressions (regex)
      6. Handling files
    4. Making a decision (Python or PowerShell)
      1. API access
      2. Interacting with local machines
    5. Introduction to code check-in and its importance
      1. Git installation and initialization
      2. Code check-in
    6. Sample use cases
      1. First use case
      2. Second use case
    7. Summary
    8. Questions
  7. Python Automation for Network Engineers
    1. Technical requirements
    2. Interacting with network devices
    3. Network device configuration using template
    4. Multithreading
    5. Use cases
      1. Using regular expressions (regex)
      2. Creating loopback interface
      3. Dynamic configuration updates
    6. Summary
    7. Questions
  8. Ansible and Network Templatizations
    1. Technical requirements
    2. Ansible and network templates
    3. Introduction to ad hoc commands
    4. Ansible playbooks
      1. Playbook examples
        1. Ping to a particular IP from all routers
          1. Section 1 – defining the scope of script
          2. Section 2 – defining what to execute (define the task)
        2. Ping to multiple IPs from all routers
          1. Section 1 – basic declarations
          2. Section 2 – declaring variables
          3. Section 3 – executing the task
          4. Section 4 – validations
    5. Network templates
      1. Step 1 – identifying the number of users the device is going to serve
      2. Step 2 – identifying the right configuration based upon the SKU
      3. Step 3 – identifying the role of the device
      4. Python integration
    6. Chef and Puppet
      1. Chef
        1. Step 1 – creating the recipe
        2. Step 2 – uploading the recipe
        3. Step 3 – adding the recipe to the run-list
        4. Step 4 – running the recipe
      2. Puppet
      3. Chef/Puppet/Ansible comparison
    7. Summary
    8. Questions
  9. Using Artificial Intelligence in Operations
    1. Technical requirements
    2. AI in IT operations
      1. Key pillars in AIOps
        1. Data source
          1. Structured data
        2. Non-structured data
        3. Data collector
        4. Data analysis
        5. Machine Learning (ML)
          1. Example of linear regression
        6. Intelligent remediation
    3. Application and use cases
    4. Summary
    5. Questions
  10. Web Framework for Automation Triggers
    1. Technical requirements
    2. Web framework
      1. Falcon
      2. Encoding and decoding
    3. Calling the web framework
    4. Sample use case
    5. Summary
    6. Questions
  11. Continual Integration
    1. Technical requirements
    2. Remediation using intelligent triggers
      1. Step 1 – ensuring Splunk is configured to receive the data
      2. Step 2 – validating the data (sample data)
      3. Step 3 – writing script
    3. Standardizing configurations on scale
    4. Chatbot interactions
    5. Use cases
      1. Interacting with SolarWinds
      2. Configuring Open Shortest Path First (OSPF) through Python
      3. Autonomous System Number (ASN) in BGP
      4. Validating the IPv4 and IPv6 addresses
    6. Summary
    7. Questions
  12. Assessment
    1. Chapter 1: Fundamental Concepts of Network Automation
    2. Chapter 2: Python Automation for Network Engineers
    3. Chapter 3: Ansible and Network Templatizations
    4. Chapter 4: Using Artificial Intelligence in Operations
    5. Chapter 5: Web Framework for Automation Triggers
    6. Chapter 6: Continual Integration
  13. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Practical Network Automation - Second Edition
  • Author(s): Abhishek Ratan
  • Release date: December 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789955651