Switch content of the page by the Role togglethe content would be changed according to the role
Cisco Certified DevNet Professional DEVCOR 350-901 Official Cert Guide, 1st edition
Published by Cisco Press (August 15, 2022) © 2022
- Hazim Dahir
- Jason Davis
- Stuart Clark
- Quinn Snyder
$65.99
Buy nowOpens in a new tab
Sold by InformIT and ebook resellers
- Available for purchase from all major ebook resellers, including InformIT.com
$55.99
Price Reduced From: $69.99
Details
- A print text
- Free shipping
- Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
Designed for all Cisco DevNet Professional candidates, it covers every DEVCOR 350-901 objective concisely and logically, with extensive teaching features designed to promote retention and understanding. This includes:
- Pre-chapter quizzes to assess knowledge upfront and focus study more efficiently
- Foundation topics sections that explain concepts and configurations, and link theory to practice
- Key topics sections calling attention to every figure, table, and list students must know
- Exam Preparation sections with additional chapter review features
- Final preparation chapter providing tools and a complete final study plan
- A customizable practice test library
This guide offers comprehensive, up-to-date coverage of all DEVCOR 350-901 topics related to:
- Software development and design
- Using APIs
- Cisco platforms
- Application deployment and security
- Infrastructure and automation
Introduction xxviii
Part I Software Development and Design
Chapter 1 Software Development Essentials 2
"Do I Know This Already?" Quiz 2
A Brief History of the Future 4
   The Evolution 5
   Automation, Orchestration, and DevOps 6
Software Architecture and Design 9
Architecture Requirements 10
   Functional Requirements 13
   Nonfunctional Requirements 13
Architectural Patterns 14
Software Development Lifecycle (SDLC) Approach 15
Software Development Models 17
   Waterfall 17
   Agile Software Development 18
       Scrum 19
       Extreme Programming 19
       Kanban 19
       Lean 19
   Which Model? 20
Architecture and Code Reviews 21
Software Testing 22
Exam Preparation Tasks 23
Chapter 2 Software Quality Attributes 26
"Do I Know This Already?" Quiz 26
Foundation Topics 29
Quality Attributes and Nonfunctional Requirements 29
   Brief Overview of the Most Common Quality Attributes 29
   Measuring Quality Attributes 35
Modularity in Application Design 36
   Benefits of Modularity 36
   Modularity Coding Best Practices 37
   Microservices and Modular Design 40
Scalability in Application Design 41
   Horizontal Scalability 41
   Vertical Scalability 42
   Practical Scalability in Application Design 43
High Availability and Resiliency in Application Design 44
   Failure or Fault Detection 46
   Recovery: High Availability in Practice 47
   Prevention 50
   High Availability Planning and the Responsibilities of the Developer 50
   High Availability Deployment Models 51
Exam Preparation Tasks 53
Chapter 3 Architectural Considerations and Performance Management 56
"Do I Know This Already?" Quiz 57
Foundation Topics 59
Maintainable Design and Implementation 59
   Maintaining a SOLID Design 60
       Single Responsibility Principle (SRP) 61
       Open-Closed Principle (OCP) 62
       Liskov's Substitution Principle (LSP) 63
       Interface Segregation Principle (ISP) 64
       Dependency Inversion Principle (DIP) 65
Latency and Rate Limiting in Application Design and Performance 66
   Designing for Application Low Latency and High Performance 69
       Architecture Trade-offs 69
       Improving Performance 69
Design and Implementation for Observability 73
   Logging 74
   Metrics 76
   Tracing 77
   Good Documentation Practices: An Observability Reminder 78
Database Selection Criteria 79
   Database Requirements Gathering 80
   Data Volume 81
   Data Velocity 82
   Data Variety 82
Exam Preparation Tasks 83
Chapter 4 Version Control and Release Management with Git 86
"Do I Know This Already?" Quiz 86
Foundation Topics 88
Version Control and Git 88
Git Workflow 88
   Branch and Pull Workflow 89
       Pros 89
       Cons 89
       Sample Setup 90
       Sample Branch and Pull Workflow 90
   Fork and Pull Workflow 104
       Pros 105
       Cons 105
       Sample Setup 105
       Sample Fork and Pull Workflow 106
Git Branching Strategy 121
   What Is a Branching Strategy? 121
   The Most Important Factor When Selecting a Git Branching Strategy 122
       Popular Git Branching Strategies 122
       When to Use GitHub Flow 122
       When to Use Git Flow 123
       When to Use GitLab Flow 123
   Recommended GitHub Settings 125
       Configuring the PR Merge Button 125
       Configuring a Branch Protection Rule to Require Code Reviews 125
Exam Preparation Tasks 127
Part II APIs
Chapter 5 Network APIs 130
"Do I Know This Already?" Quiz 130
Foundation Topics 132
What Are APIs? 132
   Methods 133
   Objects 134
   Formats 134
   APIs vs. No API 135
   Web Scraping 135
       Jeff Bezos's API Mandate: How the AWS API-Driven Cloud Was Born 136
Calling an API 138
   What Is API Development? 144
   API Architectural Styles 146
Selecting an API Style 147
   HTTP/JSON 149
   REST/JSON 150
       Cache-Control 151
   REST vs. RPC 152
   gRPC 154
   OpenAPI/Swagger 155
Network API Styles 157
   NETCONF APIs 158
Exam Preparation Tasks 160
Chapter 6 API Development 162
"Do I Know This Already?" Quiz 163
Foundation Topics 165
Creating API Clients 165
   Code Generation Client API Libraries for IMDb 165
   Adding CLI Wrapper Code 174
   Making Calls to IMDb Using a CLI Program 174
API Design Considerations 177
   API Authentication Models 179
   Flow Control (Pagination vs. Streaming) 181
   Error Handling, Timeouts, and Rate Limiting 184
   Caching 188
Exam Preparation Tasks 189
Part III Application Development, Deployment, and Security
Chapter 7 Application Deployment 192
"Do I Know This Already?" Quiz 193
Foundation Topics 194
The Evolution of Application Responsibilities 194
   The Hybridization of Development and Operations 194
       The Journey to DevOps 195
       A Cultural Shift 196
   The Emergence of the Site Reliability Engineer(ing) 196
       SRE Responsibilities and Tenets 197
       SRE vs. DevOps 198
   Continuous Integration/Continuous Delivery (Deployment) 198
       Continuous Integration (CI) 199
       Continuous Delivery: One of the CDs 200
       Continuous Deployment: The Other CD 200
CI/CD Pipeline Implementation 201
   Pipeline Components 203
       Build 204
       Test 205
       Release/Deliver 205
       Deploy 205
   Adding Deployment to Integration 207
       Deploying to Infrastructure (Terraform + Atlantis) 207
       Deploying Applications (Flux + Kubernetes) 213
Application Deployment Methods over Time 218
   The 2000s: Sysadmins, Terminals, and SSH 218
   The 2010s: Automated Configuration Management 220
   The 2020s: The Clouds Never Looked So Bright 224
       Managed Kubernetes (e.g., GKE) 224
       Containers on Serverless Clouds (e.g., AWS ECS on Fargate) 227
       Serverless Functions (e.g., AWS Lambda) 234
Software Practices for Operability: The 12-Factor App 238
   Factor 1: Codebase 239
   Factor 2: Dependencies 239
   Factor 3: Config 239
   Factor 4: Backing Services 240
   Factor 5: Build, Release, Run 240
   Factor 6: Processes 240
   Factor 7: Port Binding 241
   Factor 8: Concurrency 241
   Factor 9: Disposability 241
   Factor 10: Dev/Prod Parity 241
   Factor 11: Logs 242
   Factor 12: Admin Processes 242
Summary 243
Exam Preparation Tasks 243
Chapter 8 Security in Application Design 246
"Do I Know This Already?" Quiz 247
Foundation Topics 248
Protecting Privacy 250
   Personally Identifiable Information 250
   Data States 250
   Laws, Regulations, and Standards for Protecting Privacy 251
Storing IT Secrets 252
Public Key Infrastructure (PKI) 254
   Certificate Revocation 256
   Hierarchical Multiple CA Infrastructure 257
   TLS, PKI, and Web Applications Security 257
   Browser Security Issues 261
Securing Web and Mobile Applications 262
   Injection Attacks 263
   Cross-Site Scripting 264
OAuth Authorization Framework 266
   How Does OAuth Work? 266
   OAuth 2.0 Two-Legged Authorization 268
   OAuth 2.0 Three-Legged Authorization 269
   Additional OAuth Authorization Code Grant Types 271
       OAuth 2.0 Client Credentials 271
       Resource Owner Password Credential Flow 272
       OAuth 2.0 Implicit Flow 275
       OAuth 2.0 Authorization Code Flow 276
       OAuth 2.0 PKCE Flow 278
       Refresh Token Flow 280
       OAuth 2.0 Device Code Flow 281
Exam Preparation Tasks 283
Part IV Infrastructure and Automation
Chapter 9 Infrastructure 286
"Do I Know This Already?" Quiz 286
Foundation Topics 288
Network Management 288
Methods of Network Provisioning 290
   CLI/Console 291
   SNMP 294
   File Transfer Methods 297
Element Management Systems 297
   Embedded Management 299
Zero-Touch Provisioning (ZTP) 300
Atomic or SDN-Like/Controller-Based Networking 303
Advanced Concepts - Intent-Based Networking 305
Summary 307
Exam Preparation Tasks 307
Chapter 10 Automation 310
"Do I Know This Already?" Quiz 311
Foundation Topics 313
Challenges Being Addressed 313
   Differences of Equipment and Functionality 314
   Proximity of Management Tools and Support Staff 316
   Speed of Service Provisioning 317
   Accuracy of Service Provisioning 319
   Scale 323
   Doing More with Less 329
Software-Defined Networking (SDN) 329
   What Is SDN and Network Programmability? 329
       Approach 330
       Nontraditional Entities 331
       Industry Impact 331
       New Methods 331
       Normalization 332
       Enabling Operations 332
       Enabling Career Options 332
   Use Cases and Problems Solved with SDN 332
   Overview of Network Controllers 334
   The Cisco Solutions 335
Application Programming Interfaces (APIs) 335
REST APIs 336
   API Methods 337
   API Authentication 337
   API Pagination 337
   Payload Data Formats JSON XML 338
   XML 338
   JSON 340
Cross-Domain, Technology-Agnostic Orchestration (CDTAO) 342
Impact to IT Service Management and Security 343
Exam Preparation Tasks 344
Chapter 11 NETCONF and RESTCONF 346
"Do I Know This Already?" Quiz 346
Foundation Topics 348
Catalyst for NETCONF 348
   Content 349
   Operations 350
   Messages 350
   Transport 351
Atomic and Model-Driven Configuration Management 351
How to Implement NETCONF 354
   Enabling NETCONF on IOS XE 355
   Enabling NETCONF on IOS XR 356
   Enabling NETCONF on NX-OS 357
   Basic Manual Use of NETCONF 358
YANG Models 365
The Evolution with RESTCONF 371
   The RESTCONF Protocol Stack 372
   RESTCONF Operations 372
   RESTCONF and Authentication 373
   RESTCONF URIs 373
   Performing a RESTCONF GET Operation with cURL 375
   Performing RESTCONF GET Operations with the Postman Utility 377
Management Solutions Using NETCONF and RESTCONF 382
Exam Preparation Tasks 383
Chapter 12 Model-Driven Telemetry 386
"Do I Know This Already?" Quiz 387
Foundation Topics 389
Transformation of Inventory, Status, Performance, and Fault Monitoring 389
Scaling with the Push Model 391
How to Implement Model-Driven Telemetry 393
   Dial-In and Dial-Out Mode 395
   Encoding (Serialization) 395
   Protocols 396
   Configuring MDT in IOS-XR 398
   Configuring Dial-Out Mode 398
       Step 1: Create a Destination Group 398
       Step 2: Create a Sensor Group 400
       Step 3: Create a Subscription 400
       Step 4: Verify the Dial-Out Configuration 401
   Configuring Dial-In Mode 402
       Step 1: Enable gRPC 402
       Step 2: Create a Sensor Group 404
       Step 3: Create a Subscription 405
       Step 4: Validate the Configuration 405
Picking Sensor Paths and Metrics 407
   Researching Public Documentation 407
   Extracting Model Support from the Device - NETCONF Manually 408
   Extracting Model Support from the Device - Python and NETCONF 410
   Digging into the YANG Models 414
       Installing Docker to the Linux VM 414
       Installing the YANG Suite Docker Image to the Linux VM 415
Practical Application of Streaming Telemetry 423
   Using Telegraph, InfluxDB, and Grafana 426
   Installing InfluxDB 426
   Installing Telegraf 428
Beyond MDT: Event-Driven Telemetry 434
   Other Considerations: Disk Usage 440
   Frequency of Telemetry Push 441
Exam Preparation Tasks 441
Chapter 13 Open-Source Solutions 444
"Do I Know This Already?" Quiz 445
Foundation Topics 447
Infrastructure-as-Code (IaC) Concepts 447
   Imperative and Declarative Models 448
Provisioning or Configuration Management 449
Differences Between Agent and Agentless Solutions 450
Agent-Based Solutions: Puppet and Chef 450
Agentless Solutions: Ansible and Terraform 474
   Installing Ansible from the Package Manager 474
   Installing the Latest Ansible from a Virtual Python Environment with pip 476
   Configuring Ansible Inventory 481
   Creating a Project-Level Inventory File 482
   Creating an Ansible Playbook to Obtain show Command Results 483
   Filtering, Templating, and Jinja2 487
   Using Ansible to Modify Device Configurations 488
   Terraform Overview 493
   Installing Terraform 494
   Using Terraform 496
Cisco Solutions Enabled for IaC 501
Exam Preparation Tasks 502
Chapter 14 Software Configuration Management 508
"Do I Know This Already?" Quiz 508
Foundation Topics 510
Software Configuration Management (SCM) 510
   SCM Definitions and Standards 510
   Why Do You Need SCM? 511
   Which SCM Process Is Best for You? 512
       Ansible 512
       Terraform 515
       Terraform or Ansible: A High-Level Comparison 518
Business and Technical Requirements 519
   Architectural Decisions 519
   Technical Debt 520
Exam Preparation Tasks 521
Chapter 15 Hosting an Application on a Network Device 524
"Do I Know This Already?" Quiz 524
Foundation Topics 527
Benefits of Edge Computing 527
   Virtualization Technologies 527
   Type-1 Hypervisors 528
   Type-2 Hypervisors 528
   Linux Containers (LXC) 529
   Docker Containers 530
Application Container Ideas 532
Platforms Supporting Application Containers 533
How to Implement Application Containers 534
   Validating Prerequisites 534
   Enabling Application Hosting Framework 536
   Using Cisco DNA Center for App Hosting 538
   Using Cisco IOx Local Manager for App Hosting 547
   Using the Command-Line Interface for App Hosting 553
   Interacting with App Hosted iPerf3 556
Best Practices for Managing Application Containers 563
Exam Preparation Tasks 565
Part V Platforms
Chapter 16 Cisco Platforms 568
"Do I Know This Already?" Quiz 568
Foundation Topics 571
Webex 571
   Enabling the Webex REST API/SDK Access 572
   Webex API Documentation 573
   API Examples 575
   SDK Examples 577
Firepower 582
   Enabling API/SDK Access to Firepower 582
   Firepower API Documentation 583
Meraki 592
   Enabling API/SDK Access to Meraki 592
   Meraki API Documentation 593
   Meraki SDK Documentation 594
   Meraki Authorization 596
Intersight 601
   Enabling API Access to Intersight 601
   Intersight API Documentation 603
   Intersight SDK Documentation 605
   Intersight Authorization 606
UCS Manager 611
   Enabling API Access to UCS Manager 611
   UCS Manager API Documentation 611
   Python SDK Documentation 617
   PowerShell SDK Documentation 622
   Additional UCS Manager Programmability Resources 628
DNA Center 628
   Enabling API/SDK Access to DNA Center 630
   DNA Center API Documentation 631
   DNA Center SDK Documentation 635
   SDK Authorization 637
AppDynamics 639
Exam Preparation Tasks 646
Chapter 17 Final Preparation 648
Getting Ready 648
Tools for Final Preparation 649
   Pearson Cert Practice Test Engine and Questions on the Website 649
       Accessing the Pearson Test Prep Software Online 649
       Accessing the Pearson Test Prep Software Offline 649
   Customizing Your Exams 650
   Updating Your Exams 651
       Premium Edition 651
   Chapter-Ending Review Tools 652
Suggested Plan for Final Review/Study 652
Summary 652
Appendix A Answers to the "Do I Know This Already?" Questions 654
Appendix B Cisco DevNet Professional DEVCOR 350-901 Exam Updates 672
Glossary 675
Online Elements
Appendix C Memory Tables
Appendix D Memory Tables Answer Key
Appendix E Dashboard Basics
Part I Software Development and Design
Chapter 1 Software Development Essentials 2
"Do I Know This Already?" Quiz 2
A Brief History of the Future 4
   The Evolution 5
   Automation, Orchestration, and DevOps 6
Software Architecture and Design 9
Architecture Requirements 10
   Functional Requirements 13
   Nonfunctional Requirements 13
Architectural Patterns 14
Software Development Lifecycle (SDLC) Approach 15
Software Development Models 17
   Waterfall 17
   Agile Software Development 18
       Scrum 19
       Extreme Programming 19
       Kanban 19
       Lean 19
   Which Model? 20
Architecture and Code Reviews 21
Software Testing 22
Exam Preparation Tasks 23
Chapter 2 Software Quality Attributes 26
"Do I Know This Already?" Quiz 26
Foundation Topics 29
Quality Attributes and Nonfunctional Requirements 29
   Brief Overview of the Most Common Quality Attributes 29
   Measuring Quality Attributes 35
Modularity in Application Design 36
   Benefits of Modularity 36
   Modularity Coding Best Practices 37
   Microservices and Modular Design 40
Scalability in Application Design 41
   Horizontal Scalability 41
   Vertical Scalability 42
   Practical Scalability in Application Design 43
High Availability and Resiliency in Application Design 44
   Failure or Fault Detection 46
   Recovery: High Availability in Practice 47
   Prevention 50
   High Availability Planning and the Responsibilities of the Developer 50
   High Availability Deployment Models 51
Exam Preparation Tasks 53
Chapter 3 Architectural Considerations and Performance Management 56
"Do I Know This Already?" Quiz 57
Foundation Topics 59
Maintainable Design and Implementation 59
   Maintaining a SOLID Design 60
       Single Responsibility Principle (SRP) 61
       Open-Closed Principle (OCP) 62
       Liskov's Substitution Principle (LSP) 63
       Interface Segregation Principle (ISP) 64
       Dependency Inversion Principle (DIP) 65
Latency and Rate Limiting in Application Design and Performance 66
   Designing for Application Low Latency and High Performance 69
       Architecture Trade-offs 69
       Improving Performance 69
Design and Implementation for Observability 73
   Logging 74
   Metrics 76
   Tracing 77
   Good Documentation Practices: An Observability Reminder 78
Database Selection Criteria 79
   Database Requirements Gathering 80
   Data Volume 81
   Data Velocity 82
   Data Variety 82
Exam Preparation Tasks 83
Chapter 4 Version Control and Release Management with Git 86
"Do I Know This Already?" Quiz 86
Foundation Topics 88
Version Control and Git 88
Git Workflow 88
   Branch and Pull Workflow 89
       Pros 89
       Cons 89
       Sample Setup 90
       Sample Branch and Pull Workflow 90
   Fork and Pull Workflow 104
       Pros 105
       Cons 105
       Sample Setup 105
       Sample Fork and Pull Workflow 106
Git Branching Strategy 121
   What Is a Branching Strategy? 121
   The Most Important Factor When Selecting a Git Branching Strategy 122
       Popular Git Branching Strategies 122
       When to Use GitHub Flow 122
       When to Use Git Flow 123
       When to Use GitLab Flow 123
   Recommended GitHub Settings 125
       Configuring the PR Merge Button 125
       Configuring a Branch Protection Rule to Require Code Reviews 125
Exam Preparation Tasks 127
Part II APIs
Chapter 5 Network APIs 130
"Do I Know This Already?" Quiz 130
Foundation Topics 132
What Are APIs? 132
   Methods 133
   Objects 134
   Formats 134
   APIs vs. No API 135
   Web Scraping 135
       Jeff Bezos's API Mandate: How the AWS API-Driven Cloud Was Born 136
Calling an API 138
   What Is API Development? 144
   API Architectural Styles 146
Selecting an API Style 147
   HTTP/JSON 149
   REST/JSON 150
       Cache-Control 151
   REST vs. RPC 152
   gRPC 154
   OpenAPI/Swagger 155
Network API Styles 157
   NETCONF APIs 158
Exam Preparation Tasks 160
Chapter 6 API Development 162
"Do I Know This Already?" Quiz 163
Foundation Topics 165
Creating API Clients 165
   Code Generation Client API Libraries for IMDb 165
   Adding CLI Wrapper Code 174
   Making Calls to IMDb Using a CLI Program 174
API Design Considerations 177
   API Authentication Models 179
   Flow Control (Pagination vs. Streaming) 181
   Error Handling, Timeouts, and Rate Limiting 184
   Caching 188
Exam Preparation Tasks 189
Part III Application Development, Deployment, and Security
Chapter 7 Application Deployment 192
"Do I Know This Already?" Quiz 193
Foundation Topics 194
The Evolution of Application Responsibilities 194
   The Hybridization of Development and Operations 194
       The Journey to DevOps 195
       A Cultural Shift 196
   The Emergence of the Site Reliability Engineer(ing) 196
       SRE Responsibilities and Tenets 197
       SRE vs. DevOps 198
   Continuous Integration/Continuous Delivery (Deployment) 198
       Continuous Integration (CI) 199
       Continuous Delivery: One of the CDs 200
       Continuous Deployment: The Other CD 200
CI/CD Pipeline Implementation 201
   Pipeline Components 203
       Build 204
       Test 205
       Release/Deliver 205
       Deploy 205
   Adding Deployment to Integration 207
       Deploying to Infrastructure (Terraform + Atlantis) 207
       Deploying Applications (Flux + Kubernetes) 213
Application Deployment Methods over Time 218
   The 2000s: Sysadmins, Terminals, and SSH 218
   The 2010s: Automated Configuration Management 220
   The 2020s: The Clouds Never Looked So Bright 224
       Managed Kubernetes (e.g., GKE) 224
       Containers on Serverless Clouds (e.g., AWS ECS on Fargate) 227
       Serverless Functions (e.g., AWS Lambda) 234
Software Practices for Operability: The 12-Factor App 238
   Factor 1: Codebase 239
   Factor 2: Dependencies 239
   Factor 3: Config 239
   Factor 4: Backing Services 240
   Factor 5: Build, Release, Run 240
   Factor 6: Processes 240
   Factor 7: Port Binding 241
   Factor 8: Concurrency 241
   Factor 9: Disposability 241
   Factor 10: Dev/Prod Parity 241
   Factor 11: Logs 242
   Factor 12: Admin Processes 242
Summary 243
Exam Preparation Tasks 243
Chapter 8 Security in Application Design 246
"Do I Know This Already?" Quiz 247
Foundation Topics 248
Protecting Privacy 250
   Personally Identifiable Information 250
   Data States 250
   Laws, Regulations, and Standards for Protecting Privacy 251
Storing IT Secrets 252
Public Key Infrastructure (PKI) 254
   Certificate Revocation 256
   Hierarchical Multiple CA Infrastructure 257
   TLS, PKI, and Web Applications Security 257
   Browser Security Issues 261
Securing Web and Mobile Applications 262
   Injection Attacks 263
   Cross-Site Scripting 264
OAuth Authorization Framework 266
   How Does OAuth Work? 266
   OAuth 2.0 Two-Legged Authorization 268
   OAuth 2.0 Three-Legged Authorization 269
   Additional OAuth Authorization Code Grant Types 271
       OAuth 2.0 Client Credentials 271
       Resource Owner Password Credential Flow 272
       OAuth 2.0 Implicit Flow 275
       OAuth 2.0 Authorization Code Flow 276
       OAuth 2.0 PKCE Flow 278
       Refresh Token Flow 280
       OAuth 2.0 Device Code Flow 281
Exam Preparation Tasks 283
Part IV Infrastructure and Automation
Chapter 9 Infrastructure 286
"Do I Know This Already?" Quiz 286
Foundation Topics 288
Network Management 288
Methods of Network Provisioning 290
   CLI/Console 291
   SNMP 294
   File Transfer Methods 297
Element Management Systems 297
   Embedded Management 299
Zero-Touch Provisioning (ZTP) 300
Atomic or SDN-Like/Controller-Based Networking 303
Advanced Concepts - Intent-Based Networking 305
Summary 307
Exam Preparation Tasks 307
Chapter 10 Automation 310
"Do I Know This Already?" Quiz 311
Foundation Topics 313
Challenges Being Addressed 313
   Differences of Equipment and Functionality 314
   Proximity of Management Tools and Support Staff 316
   Speed of Service Provisioning 317
   Accuracy of Service Provisioning 319
   Scale 323
   Doing More with Less 329
Software-Defined Networking (SDN) 329
   What Is SDN and Network Programmability? 329
       Approach 330
       Nontraditional Entities 331
       Industry Impact 331
       New Methods 331
       Normalization 332
       Enabling Operations 332
       Enabling Career Options 332
   Use Cases and Problems Solved with SDN 332
   Overview of Network Controllers 334
   The Cisco Solutions 335
Application Programming Interfaces (APIs) 335
REST APIs 336
   API Methods 337
   API Authentication 337
   API Pagination 337
   Payload Data Formats JSON XML 338
   XML 338
   JSON 340
Cross-Domain, Technology-Agnostic Orchestration (CDTAO) 342
Impact to IT Service Management and Security 343
Exam Preparation Tasks 344
Chapter 11 NETCONF and RESTCONF 346
"Do I Know This Already?" Quiz 346
Foundation Topics 348
Catalyst for NETCONF 348
   Content 349
   Operations 350
   Messages 350
   Transport 351
Atomic and Model-Driven Configuration Management 351
How to Implement NETCONF 354
   Enabling NETCONF on IOS XE 355
   Enabling NETCONF on IOS XR 356
   Enabling NETCONF on NX-OS 357
   Basic Manual Use of NETCONF 358
YANG Models 365
The Evolution with RESTCONF 371
   The RESTCONF Protocol Stack 372
   RESTCONF Operations 372
   RESTCONF and Authentication 373
   RESTCONF URIs 373
   Performing a RESTCONF GET Operation with cURL 375
   Performing RESTCONF GET Operations with the Postman Utility 377
Management Solutions Using NETCONF and RESTCONF 382
Exam Preparation Tasks 383
Chapter 12 Model-Driven Telemetry 386
"Do I Know This Already?" Quiz 387
Foundation Topics 389
Transformation of Inventory, Status, Performance, and Fault Monitoring 389
Scaling with the Push Model 391
How to Implement Model-Driven Telemetry 393
   Dial-In and Dial-Out Mode 395
   Encoding (Serialization) 395
   Protocols 396
   Configuring MDT in IOS-XR 398
   Configuring Dial-Out Mode 398
       Step 1: Create a Destination Group 398
       Step 2: Create a Sensor Group 400
       Step 3: Create a Subscription 400
       Step 4: Verify the Dial-Out Configuration 401
   Configuring Dial-In Mode 402
       Step 1: Enable gRPC 402
       Step 2: Create a Sensor Group 404
       Step 3: Create a Subscription 405
       Step 4: Validate the Configuration 405
Picking Sensor Paths and Metrics 407
   Researching Public Documentation 407
   Extracting Model Support from the Device - NETCONF Manually 408
   Extracting Model Support from the Device - Python and NETCONF 410
   Digging into the YANG Models 414
       Installing Docker to the Linux VM 414
       Installing the YANG Suite Docker Image to the Linux VM 415
Practical Application of Streaming Telemetry 423
   Using Telegraph, InfluxDB, and Grafana 426
   Installing InfluxDB 426
   Installing Telegraf 428
Beyond MDT: Event-Driven Telemetry 434
   Other Considerations: Disk Usage 440
   Frequency of Telemetry Push 441
Exam Preparation Tasks 441
Chapter 13 Open-Source Solutions 444
"Do I Know This Already?" Quiz 445
Foundation Topics 447
Infrastructure-as-Code (IaC) Concepts 447
   Imperative and Declarative Models 448
Provisioning or Configuration Management 449
Differences Between Agent and Agentless Solutions 450
Agent-Based Solutions: Puppet and Chef 450
Agentless Solutions: Ansible and Terraform 474
   Installing Ansible from the Package Manager 474
   Installing the Latest Ansible from a Virtual Python Environment with pip 476
   Configuring Ansible Inventory 481
   Creating a Project-Level Inventory File 482
   Creating an Ansible Playbook to Obtain show Command Results 483
   Filtering, Templating, and Jinja2 487
   Using Ansible to Modify Device Configurations 488
   Terraform Overview 493
   Installing Terraform 494
   Using Terraform 496
Cisco Solutions Enabled for IaC 501
Exam Preparation Tasks 502
Chapter 14 Software Configuration Management 508
"Do I Know This Already?" Quiz 508
Foundation Topics 510
Software Configuration Management (SCM) 510
   SCM Definitions and Standards 510
   Why Do You Need SCM? 511
   Which SCM Process Is Best for You? 512
       Ansible 512
       Terraform 515
       Terraform or Ansible: A High-Level Comparison 518
Business and Technical Requirements 519
   Architectural Decisions 519
   Technical Debt 520
Exam Preparation Tasks 521
Chapter 15 Hosting an Application on a Network Device 524
"Do I Know This Already?" Quiz 524
Foundation Topics 527
Benefits of Edge Computing 527
   Virtualization Technologies 527
   Type-1 Hypervisors 528
   Type-2 Hypervisors 528
   Linux Containers (LXC) 529
   Docker Containers 530
Application Container Ideas 532
Platforms Supporting Application Containers 533
How to Implement Application Containers 534
   Validating Prerequisites 534
   Enabling Application Hosting Framework 536
   Using Cisco DNA Center for App Hosting 538
   Using Cisco IOx Local Manager for App Hosting 547
   Using the Command-Line Interface for App Hosting 553
   Interacting with App Hosted iPerf3 556
Best Practices for Managing Application Containers 563
Exam Preparation Tasks 565
Part V Platforms
Chapter 16 Cisco Platforms 568
"Do I Know This Already?" Quiz 568
Foundation Topics 571
Webex 571
   Enabling the Webex REST API/SDK Access 572
   Webex API Documentation 573
   API Examples 575
   SDK Examples 577
Firepower 582
   Enabling API/SDK Access to Firepower 582
   Firepower API Documentation 583
Meraki 592
   Enabling API/SDK Access to Meraki 592
   Meraki API Documentation 593
   Meraki SDK Documentation 594
   Meraki Authorization 596
Intersight 601
   Enabling API Access to Intersight 601
   Intersight API Documentation 603
   Intersight SDK Documentation 605
   Intersight Authorization 606
UCS Manager 611
   Enabling API Access to UCS Manager 611
   UCS Manager API Documentation 611
   Python SDK Documentation 617
   PowerShell SDK Documentation 622
   Additional UCS Manager Programmability Resources 628
DNA Center 628
   Enabling API/SDK Access to DNA Center 630
   DNA Center API Documentation 631
   DNA Center SDK Documentation 635
   SDK Authorization 637
AppDynamics 639
Exam Preparation Tasks 646
Chapter 17 Final Preparation 648
Getting Ready 648
Tools for Final Preparation 649
   Pearson Cert Practice Test Engine and Questions on the Website 649
       Accessing the Pearson Test Prep Software Online 649
       Accessing the Pearson Test Prep Software Offline 649
   Customizing Your Exams 650
   Updating Your Exams 651
       Premium Edition 651
   Chapter-Ending Review Tools 652
Suggested Plan for Final Review/Study 652
Summary 652
Appendix A Answers to the "Do I Know This Already?" Questions 654
Appendix B Cisco DevNet Professional DEVCOR 350-901 Exam Updates 672
Glossary 675
Online Elements
Appendix C Memory Tables
Appendix D Memory Tables Answer Key
Appendix E Dashboard Basics
Glossary
Need help? Get in touch