Cisco Certified DevNet Professional DEVCOR 350-901 Official Cert Guide, 1st edition

Published by Cisco Press (August 17, 2022) © 2022

  • Hazim Dahir
  • Jason Davis
  • Stuart Clark
  • Quinn Snyder

eTextbook

$65.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$55.99

  • A print text (hardcover or paperback) 
  • 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
  • Authoritative coverage of every DEVCOR 350-901 exam topic, with all the context and real-life, field-proven examples students will need
  • Logical, well-organized, and practical coverage of: Cisco software development and design, APIs, Cisco platforms, application deployment and security, infrastructure, and automation
  • Includes realistic practice tests, plus extensive proven features to help students review more efficiently
  • By Cisco technical leaders who are responsible for all Cisco DevNet training and enablement
  • For all students pursuing Cisco DevNet Professional certification to meet the fast-growing demand for network programmability and automation

Includes the powerful Pearson Test Prep Practice Test software, with two full exams comprised of well-reviewed, exam-realistic questions, customization options, and detailed performance reports.

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
Glossary




Jason Davis is a distinguished engineer for the DevNet program in the Developer Relations organization at Cisco. His role is technical strategy lead for the DevRel organization as he collaborates with various Cisco business unit leaders, partners, customers, and other industry influencers. Jason is focused on automation, orchestration, cloud-native technologies, and network management/operations technologies. He has a tenured career working with hundreds of customers, worldwide, in some of the largest network automation and management projects and is sought out for consulting and innovative leadership. His former experience as a U.S. Army Signal Corps officer has provided insights to defense, government, and public-sector projects, while his extensive work in professional services at Cisco has spanned commercial, large-enterprise, and service provider segments. Most of his customer engagements have been in automotive, manufacturing, large retail, large event venues, and health care. Jason has achieved Cisco Live Distinguished Speaker Hall of Fame status and is an automation/monitoring lead for the network operations center (NOC) at Cisco Live events in the U.S. and Europe. He resides in Apex, North Carolina, and enjoys IoT projects, home automation, and audio/video technologies in houses of worship. Jason and his wife, Amy, have four children whom they homeschool and cherish daily. Jason is found on social media @SNMPguy.

Hazim Dahir, CCIE No. 5536, is a distinguished engineer at the Cisco office of the CTO. He is working to define and influence next-generation digital transformation architectures across multiple technologies and verticals. Hazim started his Cisco tenure in 1996 as a software engineer and subsequently moved into the services organization focusing on large-scale network designs. He's currently focusing on developing architectures utilizing security, collaboration, Edge computing, and IoT technologies addressing the future of work and hybrid cloud requirements for large enterprises. Through his passion for engineering and sustainability, Hazim is currently working on advanced software solutions for electric and autonomous vehicles with global automotive manufacturers. Hazim is a Distinguished Speaker at Cisco Live and is a frequent presenter at multiple global conferences and standards bodies. He has multiple issued and pending patents and a number of innovation and R&D publications.

Stuart Clark, DevNet Expert #2022005, started his career as a hairdresser in 1990, and in 2008 he changed careers to become a network engineer. After cutting his teeth in network operations, he moved to network projects and programs. Stuart joined Cisco in 2012 as a network engineer, rebuilding one of Cisco's global networks and designing and building Cisco's IXP peering program. After many years as a network engineer, Stuart became obsessed with network automation and joined Cisco DevNet as a developer advocate for network automation. Stuart contributed to the DevNet exams and was part of one of the SME teams that created, designed, and built the Cisco Certified DevNet Expert. Stuart has presented at more than 50 external conferences and is a multi-time Cisco Live Distinguished Speaker, covering topics on network automation and methodologies. Stuart lives in Lincoln, England, with his wife, Natalie, and their son, Maddox. He plays guitar and rocks an impressive two-foot beard while drinking coffee. Stuart can be found on social media @bigevilbeard.

Quinn Snyder is a developer advocate within the Developer Relations organization inside Cisco, focusing on datacenter technologies, both on-premises and cloud-native. In this role, he aligns his passion for education and learning with his enthusiasm for helping the infrastructure automation community grow and harness the powers of APIs, structured data, and programmability tooling. Prior to his work as a DA, Quinn spent 15 years in a variety of design, engineering, and implementation roles across datacenter, utility, and service provider customers for both Cisco and the partner community. Quinn is a proud graduate of Arizona State University (go Sun Devils!) and a Cisco Network Academy alumnus. He is the technical co-chair of the SkillsUSA - Arizona Internetworking contest and is involved with programmability education at the state and regional level for the Cisco Networking Academy. Quinn resides in the suburbs of Phoenix, Arizona, with his wife, Amanda, and his two kids. In his free time, you can find him behind a grill, behind a camera lens, or on the soccer field coaching his daughter's soccer teams. Quinn can be found on social media @qsnyder, usually posting a mixture of technical content and his culinary creations.

Need help? Get in touch

Learn, prepare, and practice for exam success with Cert Guides Prepare for test day success with complete coverage of exam objectives and topics, plus hundreds of realistic practice questions.

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable upon changing cookie preferences. Disabling cookies may affect video functionality. More info...

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â