SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
Improve operations and agility in any data center, campus, LAN, or WAN
Today, the best way to stay in control of your network is to address devices programmatically and automate network interactions. In this book, Cisco experts Ryan Tischer and Jason Gooley show you how to do just that. You’ll learn how to use programmability and automation to solve business problems, reduce costs, promote agility and innovation, handle accelerating complexity, and add value in any data center, campus, LAN, or WAN.
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.
Download the sample pages (includes Chapter 7 and the Index.)
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
We've made every effort to ensure the accuracy of this book and its companion content. Any errors that have been confirmed since this book was published can be downloaded below.