Programming and Automating Cisco Networks: A guide to network programmability and automation in the data center, campus, and WAN, 1st edition

Published by Cisco Press (September 9, 2016) © 2017

  • Ryan Tischer
  • Jason Gooley

eTextbook

$57.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$47.99

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
The authors show you how to create production solutions that run on or interact with Nexus NX-OS-based switches, Cisco ACI, Campus, and WAN technologies.You’ll learn how to use advanced Cisco tools together with industry-standard languages and platforms, including Python, JSON, and Linux. The authors demonstrate how to support dynamic application environments, tighten links between apps and infrastructure, and make DevOps work better.
This book will be an indispensable resource for network and cloud designers, architects, DevOps engineers, security specialists, and every professional who wants to build or operate high-efficiency networks.
  • Drive more value through programma­bility and automation, freeing resources for high-value innovation
  • Move beyond error-prone, box-by-box network management
  • Bridge management gaps arising from current operational models
  • Write NX-OS software to run on, access, or extend your Nexus switch
  • Master Cisco’s powerful on-box automation and operation tools
  • Manage complex WANs with NetConf/Yang, ConfD, and Cisco SDN Controller
  • Interact with and enhance Cisco Application Centric Infrastructure (ACI)
  • Build self-service catalogs to accelerate application delivery
  • Find resources for deepening your expertise in network automation

           

    Introduction xviii


Section I Getting Started with Network Programmability


Chapter 1 Introduction: Why Network Programmability 1


    What Is Network Programmability 3


        Network Programmability Benefits 4


        Cloud, SDN, and Network Programmability 6


        SDN 8


        Is Programmability a New Idea? 9


        Network Automation 10


    Summary 11


Chapter 2 Foundational Skills 13


    Introduction to Software Development 13


        Common Constructs–Variables, Flow Control, Functions, and Objects 15


        A Basic Introduction to Python 20


        APIs and SDKs 37


        Web Technologies 37


        Web Technologies–Data Formatting 38


        Google Postman 40


        Basic Introduction to Version Control, Git, and GitHub 45


        Git–Add a File 47


        Creating and Editing Source Code 49


        Getting Started with PyCharm 50


        Introduction to Linux 55


        Working in Linux 56


        Using Systemd 61


    Summary 66


Section II Cisco Programmable Data Center


Chapter 3 Next-Generation Cisco Data Center Networking 67


    Cisco Application-Centric Infrastructure (ACI) 70


    Nexus Data Broker 74


        Use Case–Nexus Data Broker 75


    Evolution of Data Center Network Architecture 76


    Cisco Data Center Network Controllers 80


        Nexus Fabric Manager 80


        Virtual Topology System (VTS) 81


        Cisco ACI 81


    Summary 82


Chapter 4 On-Box Programmability and Automation with Cisco Nexus NX-OS 83


    Open NX-OS Automation–Bootstrap and Provisioning 83


        Cisco POAP 83


        Cisco Ignite 87


        NX-OS iPXE 88


    Bash 88


        Bash Scripting 89


        Bash Variables, Conditions, and Loops 89


        Bash Arithmetic 90


        Bash Conditions and Flow Control 91


        Bash Redirection and Pipes 94


        Working with Text in Bash 96


    Awk 98


    Bash on Nexus 9000 99


        ifconfig 101


        Tcpdump 101


    ethtool 103


        Run a Bash Script at Startup 103


    Linux Containers (LXC) 106


        Network Access in Guestshell 109


        EEM Variables 113


    On-box Python Scripting 113


        On-Box Python–Use Cases and Examples 118


        EEM Neighbor Discovery 121


    Summary 124


Chapter 5 Off-Box Programmability and Automation with Cisco Nexus NX-OS 125


    Nexus NX-API 125


        NX-API Transport 125


        NX-API Message Format 126


        NX-API Security 126


        NX-API Sandbox 127


    Summary 158


    Resources 158


Chapter 6 Network Programmability with Cisco ACI 159


    Cisco ACI Automation 160


        ACI Policy Instantiation 161


        A Bit More Python 162


        Python Exceptions Handling 166


    ACI Fundamentals 169


        ACI Management Information Model 169


    ACI Programmability 174


        Cobra SDK 198


    Summary 213


Section III Cisco Programmable Campus and WAN


Chapter 7 On-Box Automation and Operations Tools 215


    Automated Port Profiling 216


    AutoSmart Ports 216


        Enabling AutoSmart Ports on a Cisco Catalyst Switch 217


    AutoConf 220


        Enabling AutoConf on a Cisco Catalyst Switch 222


        Modifying a Built-in Template 224


    Auto Security 227


        Enabling Auto Security on a Cisco Catalyst Switch 228


    Quality of Service for Campus Architectures 230


        AutoQoS on Campus LAN Devices 230


        Enabling AutoQoS on a Cisco Catalyst Switch 231


        AutoQoS on Campus WAN Devices 233


        Enabling AutoQoS on a Cisco ISR Router 234


    Automating Management and Monitoring Tasks 236


        Smart Call Home 236


        Enabling Smart Call Home on an Cisco Catalyst Switch 237


        Tcl Shell 243


        Embedded Event Manager (EEM) 246


    Summary 253


Chapter 8 Network Automation Tools for Campus Environments 255


    Data Models and Supporting Protocols 256


        YANG Data Models 256


        NETCONF 258


        ConfD 259


    Application Policy Infrastructure Controller Enterprise Module (APIC-EM) 263


        APIC-EM Architecture 263


        APIC-EM Applications 264


        Intelligent WAN (IWAN) Application 264


        Plug and Play (PnP) Application 269


        Path Trace Application 276


    Additional APIC-EM Features 279


        Topology 279


        Device Inventory 281


        Easy Quality of Service (Easy QoS) 283


        Dynamic QoS 285


        Policy Application 286


    APIC-EM Programmability Examples Using Postman 288


        Ticket API 288


        Host API 291


        Network Device API 292


        User API 294


        Available APIC-EM APIs 296


    APIC-EM Programmability Examples Using Python 297


        Ticket API 297


        Host API 299


    Summary 302


Chapter 9 Piecing It All Together 303


9781587144653, TOC, 8/1/2016


Ryan Tischer, CCIE No. 11459 is a Technical Solution Architect at Cisco where he focuses on SDN, Cloud, and network programmability. He has worked in IT for 20 years, specifically focused on design, deployment, and operations of networking technologies. Ryan holds a BA in Information Technology from the University of Massachusetts, Lowell and a MS in Network Engineering from Depaul University. Ryan lives with his wife and children in the Milwaukee, WI area. Ryan blogs at http://Policyetc.com.

Jason Gooley, CCIE No. 38759 (R&S & SP), is a very enthusiastic engineer that is passionate about helping others in the industry succeed. Jason has more than 20 years of experience in the Information Technology and Telecommunications industry. Jason currently works at Cisco as a Strategic Systems Engineer where he specializes in SD-WAN, campus, and data center network design. In addition, Jason works with Learning@Cisco on certification development, mentoring, and training. Jason is also a Program Committee member and organizer for the Chicago Network Operators Group (CHINOG). Jason lives in Illinois with his wife Jamie and their daughter Kaleigh.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â