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
Products list
  • Available for purchase from all major ebook resellers, including InformIT.com
Products list

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
Glossary




Need help? Get in touch