Description

Book Synopsis

Modernize and optimize network management with APIs and automation Legacy network management approaches don’t scale adequately and can’t be automated well. This guide will help meet tomorrow’s challenges by adopting network programmability based on Application Programming Interfaces (APIs). Using these techniques, you can improve efficiency, reliability, and flexibility; simplify implementation of high-value technologies; automate routine administrative and security tasks; and deploy services far more rapidly. Four expert authors help you transition from a legacy mindset to one based on solving problems with software. They explore today’s emerging network programmability and automation ecosystem; introduce each leading programmable interface; and review the protocols, tools, techniques, and technologies that underlie network programmability. You’ll master key concepts through hands-on examples you can run using Linux, Python, Cisco DevNet sandboxes, and other easily accessible tools. This guide is for all network architects, engineers, operations, and software professionals who want to integrate programmability into their networks. It offers valuable background for Cisco DevNet certification—and skills you can use with any platform, whether you have software development experience or not.

  • Master core concepts and explore the network programmability stack
  • Manage network software and run automation scripts in Linux environments
  • Solve real problems with Python and its Napalm and Nornir automation frameworks
  • Make the most of the HTTP protocol, REST architectural framework, and SSH
  • Encode your data with XML, JSON, or YAML
  • Understand and build data models using YANG that offer a foundation for model-based network programming
  • Leverage modern network management protocols, from gRPC and gNMI to NETCONF and RESTCONF
  • Meet stringent service provider KPIs in large-scale, fast-changing networks
  • Program Cisco devices running IOS XE, IOS XR, and NX-OS as well as Meraki, DNA Center, and Webex platforms
  • Program non-Cisco platforms such as Cumulus Linux and Arista EOS
  • Go from “zero to hero” with Ansible network automation
  • Plan your next steps with more advanced tools and technologies



Table of Contents

Introduction xxix

Part I Introduction

Chapter 1 The Network Programmability and Automation Ecosystem 1

First, a Few Definitions 2

Your Network Programmability and Automation Toolbox 14

Software and Network Engineers: The New Era 19

Part II Linux

Chapter 2 Linux Fundamentals 21

The Story of Linux 21

The Linux Boot Process 26

A Linux Command Shell Primer 28

Finding Help in Linux 31

Files and Directories in Linux 35

Input and Output Redirection 57

Archiving Utilities 67

Linux System Maintenance 73

Installing and Maintaining Software on Linux 94

Summary 118

Chapter 3 Linux Storage, Security, and Networks 119

Linux Storage 119

Linux Security 135

Linux Networking 158

Summary 181

Chapter 4 Linux Scripting 183

Regular Expressions and the grep Utility 184

The AWK Programming Language 193

The sed Utility 196

General Structure of Shell Scripts 203

Output and Input 207

Variables 215

Conditional Statements 223

Loops 232

The until-do Loop 237

Functions 238

Expect 242

Summary 246

Part III Python

Chapter 5 Python Fundamentals 249

Scripting Languages Versus Programming Languages 250

Network Programmability 253

Computer Science Concepts 255

Python Fundamentals 260

Summary 309

References 310

Chapter 6 Python Applications 311

Organizing the Development Environment 311

The virtualenv Tool 331

Python Modules 333

Python Applications 336

Summary 385

Part IV Transport

Chapter 7 HTTP and REST 387

HTTP Overview 387

The REST Framework 392

The HTTP Connection 394

HTTP Transactions 397

HTTP Messages 415

Resource Identification 431

Postman 436

HTTP and Bash 447

HTTP and Python 455

Summary 467

Chapter 8 Advanced HTTP 469

HTTP/1.1 Authentication 469

Transport Layer Security (TLS) and HTTPS 487

HTTP/2 503

Summary 508

Chapter 9 SSH 509

SSH Overview 509

Setting Up SSH 521

Enabling SSH on Cisco Devices 526

Secure File Transfer 540

Summary 551

References 551

Part V Encoding

Chapter 10 XML 553

XML Overview, History, and Usage 553

XML Syntax and Components 554

Making XML Valid 562

Navigating XML Documents 574

XML Stylesheet Language Transformations (XSLT) 578

Processing XML Files with Python 580

Summary 588

Chapter 11 JSON 591

JavaScript Object Notation (JSON) 591

JSON Schema Definition (JSD) 595

Summary 614

Chapter 12 YAML 615

YAML Structure 616

Handling YAML Data Using Python 626

Summary 637

Part VI Modeling

Chapter 13 YANG 639

A Data Modeling Primer 639

YANG Data Models 642

Types of YANG Modules 663

YANG Tools 673

Summary 688

Part VII Protocols

Chapter 14 NETCONF and RESTCONF 689

NETCONF 689

RESTCONF 739

Summary 779

Chapter 15 gRPC, Protobuf, and gNMI 781

Requirements for Efficient Transport 781

History and Principles of gRPC 782

gRPC as a Transport 784

The Protocol Buffers Data Format 786

Working with gRPC and Protobuf in Python 790

The gNMI Specification 798

The Anatomy of gNMI 799

Managing Network Elements with gNMI/gRPC 814

Summary 818

Chapter 16 Service Provider Programmability 819

The SDN Framework for Service Providers 819

Segment Routing (SR) 823

BGP Link State (BGP-LS) 843

Path Computation Element Protocol (PCEP) 859

Summary 880

Part VIII Programmability Applications

Chapter 17 Programming Cisco Platforms 881

API Classification 882

Network Platforms 883

Meraki 922

DNA Center 931

Collaboration Platforms 942

Summary 954

Chapter 18 Programming Non-Cisco Platforms 957

General Approaches to Programming Networks 957

Implementation Examples 962

Summary 987

Chapter 19 Ansible 989

Ansible Basics 989

Extending Ansible Capabilities 1003

Jinja2 Templates 1034

Using Ansible for Cisco IOS XE 1055

Using Ansible for Cisco IOS XR 1073

Using Ansible for Cisco NX-OS 1084

Using Ansible in Conjunction with NETCONF 1095

Summary 1108

Part IX Looking Ahead

Chapter 20 Looking Ahead 1109

Some Rules of Thumb 1109

What Does All This Mean for Your Career? 1118

9781587145148, TOC, 4/1/2021

Network Programmability and Automation

    Product form

    £53.99

    Includes FREE delivery

    RRP £59.99 – you save £6.00 (10%)

    Order before 4pm today for delivery by Tue 4 Aug 2026.

    A Paperback / softback by Khaled Abuelenain, Anton Karneliuk, Jeff Doyle

    3 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Network Programmability and Automation by Khaled Abuelenain

      Publisher: Pearson Education (US)
      Publication Date: Publication Date: 05/07/2021
      ISBN13: 9781587145148, 978-1587145148
      ISBN10: 1587145146

      Description

      Book Synopsis

      Modernize and optimize network management with APIs and automation Legacy network management approaches don’t scale adequately and can’t be automated well. This guide will help meet tomorrow’s challenges by adopting network programmability based on Application Programming Interfaces (APIs). Using these techniques, you can improve efficiency, reliability, and flexibility; simplify implementation of high-value technologies; automate routine administrative and security tasks; and deploy services far more rapidly. Four expert authors help you transition from a legacy mindset to one based on solving problems with software. They explore today’s emerging network programmability and automation ecosystem; introduce each leading programmable interface; and review the protocols, tools, techniques, and technologies that underlie network programmability. You’ll master key concepts through hands-on examples you can run using Linux, Python, Cisco DevNet sandboxes, and other easily accessible tools. This guide is for all network architects, engineers, operations, and software professionals who want to integrate programmability into their networks. It offers valuable background for Cisco DevNet certification—and skills you can use with any platform, whether you have software development experience or not.

      • Master core concepts and explore the network programmability stack
      • Manage network software and run automation scripts in Linux environments
      • Solve real problems with Python and its Napalm and Nornir automation frameworks
      • Make the most of the HTTP protocol, REST architectural framework, and SSH
      • Encode your data with XML, JSON, or YAML
      • Understand and build data models using YANG that offer a foundation for model-based network programming
      • Leverage modern network management protocols, from gRPC and gNMI to NETCONF and RESTCONF
      • Meet stringent service provider KPIs in large-scale, fast-changing networks
      • Program Cisco devices running IOS XE, IOS XR, and NX-OS as well as Meraki, DNA Center, and Webex platforms
      • Program non-Cisco platforms such as Cumulus Linux and Arista EOS
      • Go from “zero to hero” with Ansible network automation
      • Plan your next steps with more advanced tools and technologies



      Table of Contents

      Introduction xxix

      Part I Introduction

      Chapter 1 The Network Programmability and Automation Ecosystem 1

      First, a Few Definitions 2

      Your Network Programmability and Automation Toolbox 14

      Software and Network Engineers: The New Era 19

      Part II Linux

      Chapter 2 Linux Fundamentals 21

      The Story of Linux 21

      The Linux Boot Process 26

      A Linux Command Shell Primer 28

      Finding Help in Linux 31

      Files and Directories in Linux 35

      Input and Output Redirection 57

      Archiving Utilities 67

      Linux System Maintenance 73

      Installing and Maintaining Software on Linux 94

      Summary 118

      Chapter 3 Linux Storage, Security, and Networks 119

      Linux Storage 119

      Linux Security 135

      Linux Networking 158

      Summary 181

      Chapter 4 Linux Scripting 183

      Regular Expressions and the grep Utility 184

      The AWK Programming Language 193

      The sed Utility 196

      General Structure of Shell Scripts 203

      Output and Input 207

      Variables 215

      Conditional Statements 223

      Loops 232

      The until-do Loop 237

      Functions 238

      Expect 242

      Summary 246

      Part III Python

      Chapter 5 Python Fundamentals 249

      Scripting Languages Versus Programming Languages 250

      Network Programmability 253

      Computer Science Concepts 255

      Python Fundamentals 260

      Summary 309

      References 310

      Chapter 6 Python Applications 311

      Organizing the Development Environment 311

      The virtualenv Tool 331

      Python Modules 333

      Python Applications 336

      Summary 385

      Part IV Transport

      Chapter 7 HTTP and REST 387

      HTTP Overview 387

      The REST Framework 392

      The HTTP Connection 394

      HTTP Transactions 397

      HTTP Messages 415

      Resource Identification 431

      Postman 436

      HTTP and Bash 447

      HTTP and Python 455

      Summary 467

      Chapter 8 Advanced HTTP 469

      HTTP/1.1 Authentication 469

      Transport Layer Security (TLS) and HTTPS 487

      HTTP/2 503

      Summary 508

      Chapter 9 SSH 509

      SSH Overview 509

      Setting Up SSH 521

      Enabling SSH on Cisco Devices 526

      Secure File Transfer 540

      Summary 551

      References 551

      Part V Encoding

      Chapter 10 XML 553

      XML Overview, History, and Usage 553

      XML Syntax and Components 554

      Making XML Valid 562

      Navigating XML Documents 574

      XML Stylesheet Language Transformations (XSLT) 578

      Processing XML Files with Python 580

      Summary 588

      Chapter 11 JSON 591

      JavaScript Object Notation (JSON) 591

      JSON Schema Definition (JSD) 595

      Summary 614

      Chapter 12 YAML 615

      YAML Structure 616

      Handling YAML Data Using Python 626

      Summary 637

      Part VI Modeling

      Chapter 13 YANG 639

      A Data Modeling Primer 639

      YANG Data Models 642

      Types of YANG Modules 663

      YANG Tools 673

      Summary 688

      Part VII Protocols

      Chapter 14 NETCONF and RESTCONF 689

      NETCONF 689

      RESTCONF 739

      Summary 779

      Chapter 15 gRPC, Protobuf, and gNMI 781

      Requirements for Efficient Transport 781

      History and Principles of gRPC 782

      gRPC as a Transport 784

      The Protocol Buffers Data Format 786

      Working with gRPC and Protobuf in Python 790

      The gNMI Specification 798

      The Anatomy of gNMI 799

      Managing Network Elements with gNMI/gRPC 814

      Summary 818

      Chapter 16 Service Provider Programmability 819

      The SDN Framework for Service Providers 819

      Segment Routing (SR) 823

      BGP Link State (BGP-LS) 843

      Path Computation Element Protocol (PCEP) 859

      Summary 880

      Part VIII Programmability Applications

      Chapter 17 Programming Cisco Platforms 881

      API Classification 882

      Network Platforms 883

      Meraki 922

      DNA Center 931

      Collaboration Platforms 942

      Summary 954

      Chapter 18 Programming Non-Cisco Platforms 957

      General Approaches to Programming Networks 957

      Implementation Examples 962

      Summary 987

      Chapter 19 Ansible 989

      Ansible Basics 989

      Extending Ansible Capabilities 1003

      Jinja2 Templates 1034

      Using Ansible for Cisco IOS XE 1055

      Using Ansible for Cisco IOS XR 1073

      Using Ansible for Cisco NX-OS 1084

      Using Ansible in Conjunction with NETCONF 1095

      Summary 1108

      Part IX Looking Ahead

      Chapter 20 Looking Ahead 1109

      Some Rules of Thumb 1109

      What Does All This Mean for Your Career? 1118

      9781587145148, TOC, 4/1/2021

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account