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
- Available for purchase from all major ebook resellers, including InformIT.com.
- To request a review copy, click on the "Request a Review Copy" button.
- A print text (hardcover or paperback)Â
- Free shipping
- Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
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