Programming and Automating Cisco Networks
Cisco Press (Verlag)
978-1-58714-465-3 (ISBN)
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.
Drive more value through programmability 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
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.
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
Erscheinungsdatum | 04.10.2016 |
---|---|
Reihe/Serie | Networking Technology |
Verlagsort | Indianapolis |
Sprache | englisch |
Maße | 232 x 20 mm |
Gewicht | 600 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Netzwerke |
ISBN-10 | 1-58714-465-4 / 1587144654 |
ISBN-13 | 978-1-58714-465-3 / 9781587144653 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich