Contents

Introduction

Part I   Software Development and Design

Chapter 1 Software Development Essentials

“Do I Know This Already?” Quiz

Foundation Topics

A Brief History of the Future

The Evolution

Automation, Orchestration, and DevOps

Software Architecture and Design

Architecture Requirements

Functional Requirements

Nonfunctional Requirements

Architectural Patterns

Software Development Lifecycle (SDLC) Approach

Software Development Models

Waterfall

Agile Software Development

Scrum

Extreme Programming

Kanban

Lean

Which Model?

Architecture and Code Reviews

Software Testing

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 2 Software Quality Attributes

“Do I Know This Already?” Quiz

Foundation Topics

Quality Attributes and Nonfunctional Requirements

Brief Overview of the Most Common Quality Attributes

Measuring Quality Attributes

Modularity in Application Design

Benefits of Modularity

Modularity Coding Best Practices

Microservices and Modular Design

Scalability in Application Design

Horizontal Scalability

Vertical Scalability

Practical Scalability in Application Design

High Availability and Resiliency in Application Design

Failure or Fault Detection

Recovery: High Availability in Practice

Prevention

High Availability Planning and the Responsibilities of the Developer

High Availability Deployment Models

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 3 Architectural Considerations and Performance Management

“Do I Know This Already?” Quiz

Foundation Topics

Maintainable Design and Implementation

Maintaining a SOLID Design

Single Responsibility Principle (SRP)

Open-Closed Principle (OCP)

Liskov’s Substitution Principle (LSP)

Interface Segregation Principle (ISP)

Dependency Inversion Principle (DIP)

Latency and Rate Limiting in Application Design and Performance

Designing for Application Low Latency and High Performance

Architecture Trade-offs

Improving Performance

Design and Implementation for Observability

Logging

Metrics

Tracing

Good Documentation Practices: An Observability Reminder

Database Selection Criteria

Database Requirements Gathering

Data Volume

Data Velocity

Data Variety

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 4 Version Control and Release Management with Git

“Do I Know This Already?” Quiz

Foundation Topics

Version Control and Git

Git Workflow

Branch and Pull Workflow

Pros

Cons

Sample Setup

Sample Branch and Pull Workflow

Fork and Pull Workflow

Pros

Cons

Sample Setup

Sample Fork and Pull Workflow

Git Branching Strategy

What Is a Branching Strategy?

The Most Important Factor When Selecting a Git Branching Strategy

Popular Git Branching Strategies

When to Use GitHub Flow

When to Use Git Flow

When to Use GitLab Flow

Recommended GitHub Settings

Configuring the PR Merge Button

Configuring a Branch Protection Rule to Require Code Reviews

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Part II   APIs

Chapter 5 Network APIs

“Do I Know This Already?” Quiz

Foundation Topics

What Are APIs?

Methods

Objects

Formats

APIs vs. No API

Web Scraping

Jeff Bezos’s API Mandate: How the AWS API-Driven Cloud Was Born

Calling an API

What Is API Development?

API Architectural Styles

Selecting an API Style

HTTP/JSON

REST/JSON

Cache-Control

REST vs. RPC

gRPC

OpenAPI/Swagger

Network API Styles

NETCONF APIs

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 6 API Development

“Do I Know This Already?” Quiz

Foundation Topics

Creating API Clients

Code Generation Client API Libraries for IMDb

Adding CLI Wrapper Code

Making Calls to IMDb Using a CLI Program

API Design Considerations

API Authentication Models

Flow Control (Pagination vs. Streaming)

Error Handling, Timeouts, and Rate Limiting

Caching

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Part III   Application Development, Deployment, and Security

Chapter 7 Application Deployment

“Do I Know This Already?” Quiz

Foundation Topics

The Evolution of Application Responsibilities

The Hybridization of Development and Operations

The Journey to DevOps

A Cultural Shift

The Emergence of the Site Reliability Engineer(ing)

SRE Responsibilities and Tenets

SRE vs. DevOps

Continuous Integration/Continuous Delivery (Deployment)

Continuous Integration (CI)

Continuous Delivery: One of the CDs

Continuous Deployment: The Other CD

CI/CD Pipeline Implementation

Pipeline Components

Build

Test

Release/Deliver

Deploy

Adding Deployment to Integration

Deploying to Infrastructure (Terraform + Atlantis)

Deploying Applications (Flux + Kubernetes)

Application Deployment Methods over Time

The 2000s: Sysadmins, Terminals, and SSH

The 2010s: Automated Configuration Management

The 2020s: The Clouds Never Looked So Bright

Managed Kubernetes (e.g., GKE)

Containers on Serverless Clouds (e.g., AWS ECS on Fargate)

Serverless Functions (e.g., AWS Lambda)

Software Practices for Operability: The 12-Factor App

Factor 1: Codebase

Factor 2: Dependencies

Factor 3: Config

Factor 4: Backing Services

Factor 5: Build, Release, Run

Factor 6: Processes

Factor 7: Port Binding

Factor 8: Concurrency

Factor 9: Disposability

Factor 10: Dev/Prod Parity

Factor 11: Logs

Factor 12: Admin Processes

Summary

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 8 Security in Application Design

“Do I Know This Already?” Quiz

Foundation Topics

Protecting Privacy

Personally Identifiable Information

Data States

Laws, Regulations, and Standards for Protecting Privacy

Storing IT Secrets

Public Key Infrastructure (PKI)

Certificate Revocation

Hierarchical Multiple CA Infrastructure

TLS, PKI, and Web Applications Security

Browser Security Issues

Securing Web and Mobile Applications

Injection Attacks

Cross-Site Scripting

OAuth Authorization Framework

How Does OAuth Work?

OAuth 2.0 Two-Legged Authorization

OAuth 2.0 Three-Legged Authorization

Additional OAuth Authorization Code Grant Types

OAuth 2.0 Client Credentials

Resource Owner Password Credential Flow

OAuth 2.0 Implicit Flow

OAuth 2.0 Authorization Code Flow

OAuth 2.0 PKCE Flow

Refresh Token Flow

OAuth 2.0 Device Code Flow

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Part IV   Infrastructure and Automation

Chapter 9 Infrastructure

“Do I Know This Already?” Quiz

Foundation Topics

Network Management

Methods of Network Provisioning

CLI/Console

SNMP

File Transfer Methods

Element Management Systems

Embedded Management

Zero-Touch Provisioning (ZTP)

Atomic or SDN-Like/Controller-Based Networking

Advanced Concepts—Intent-Based Networking

Summary

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 10 Automation

“Do I Know This Already?” Quiz

Foundation Topics

Challenges Being Addressed

Differences of Equipment and Functionality

Proximity of Management Tools and Support Staff

Speed of Service Provisioning

Accuracy of Service Provisioning

Scale

Doing More with Less

Software-Defined Networking (SDN)

What Is SDN and Network Programmability?

Approach

Nontraditional Entities

Industry Impact

New Methods

Normalization

Enabling Operations

Enabling Career Options

Use Cases and Problems Solved with SDN

Overview of Network Controllers

The Cisco Solutions

Application Programming Interfaces (APIs)

REST APIs

API Methods

API Authentication

API Pagination

Payload Data Formats JSON XML

XML

JSON

Cross-Domain, Technology-Agnostic Orchestration (CDTAO)

Impact to IT Service Management and Security

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 11 NETCONF and RESTCONF

“Do I Know This Already?” Quiz

Foundation Topics

Catalyst for NETCONF

Content

Operations

Messages

Transport

Atomic and Model-Driven Configuration Management

How to Implement NETCONF

Enabling NETCONF on IOS XE

Enabling NETCONF on IOS XR

Enabling NETCONF on NX-OS

Basic Manual Use of NETCONF

YANG Models

The Evolution with RESTCONF

The RESTCONF Protocol Stack

RESTCONF Operations

RESTCONF and Authentication

RESTCONF URIs

Performing a RESTCONF GET Operation with cURL

Performing RESTCONF GET Operations with the Postman Utility

Management Solutions Using NETCONF and RESTCONF

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 12 Model-Driven Telemetry

“Do I Know This Already?” Quiz

Foundation Topics

Transformation of Inventory, Status, Performance, and Fault Monitoring

Scaling with the Push Model

How to Implement Model-Driven Telemetry

Dial-In and Dial-Out Mode

Encoding (Serialization)

Protocols

Configuring MDT in IOS-XR

Configuring Dial-Out Mode

Step 1: Create a Destination Group

Step 2: Create a Sensor Group

Step 3: Create a Subscription

Step 4: Verify the Dial-Out Configuration

Configuring Dial-In Mode

Step 1: Enable gRPC

Step 2: Create a Sensor Group

Step 3: Create a Subscription

Step 4: Validate the Configuration

Picking Sensor Paths and Metrics

Researching Public Documentation

Extracting Model Support from the Device—NETCONF Manually

Extracting Model Support from the Device—Python and NETCONF

Digging into the YANG Models

Installing Docker to the Linux VM

Installing the YANG Suite Docker Image to the Linux VM

Practical Application of Streaming Telemetry

Using Telegraph, InfluxDB, and Grafana

Installing InfluxDB

Installing Telegraf

Beyond MDT—Event-Driven Telemetry

Other Considerations—Disk Usage

Frequency of Telemetry Push

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 13 Open-Source Solutions

“Do I Know This Already?” Quiz

Foundation Topics

Infrastructure-as-Code (IaC) Concepts

Imperative and Declarative Models

Provisioning or Configuration Management

Differences Between Agent and Agentless Solutions

Agent-Based Solutions—Puppet and Chef

Agentless Solutions—Ansible and Terraform

Installing Ansible from the Package Manager

Installing the Latest Ansible from a Virtual Python Environment with pip

Configuring Ansible Inventory

Creating a Project-Level Inventory File

Creating an Ansible Playbook to Obtain show Command Results

Filtering, Templating, and Jinja2

Using Ansible to Modify Device Configurations

Terraform Overview

Installing Terraform

Using Terraform

Cisco Solutions Enabled for IaC

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 14 Software Configuration Management

“Do I Know This Already?” Quiz

Foundation Topics

Software Configuration Management (SCM)

SCM Definitions and Standards

Why Do You Need SCM?

Which SCM Process Is Best for You?

Ansible

Terraform

Terraform or Ansible: A High-Level Comparison

Business and Technical Requirements

Architectural Decisions

Technical Debt

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Chapter 15 Hosting an Application on a Network Device

“Do I Know This Already?” Quiz

Foundation Topics

Benefits of Edge Computing

Virtualization Technologies

Type-1 Hypervisors

Type-2 Hypervisors

Linux Containers (LXC)

Docker Containers

Application Container Ideas

Platforms Supporting Application Containers

How to Implement Application Containers

Validating Prerequisites

Enabling Application Hosting Framework

Using Cisco DNA Center for App Hosting

Using Cisco IOx Local Manager for App Hosting

Using the Command-Line Interface for App Hosting

Interacting with App Hosted iPerf3

Best Practices for Managing Application Containers

Exam Preparation Tasks

Review All Key Topics

Complete Tables and Lists from Memory

Define Key Terms

References

Part V   Platforms

Chapter 16 Cisco Platforms

“Do I Know This Already?” Quiz

Foundation Topics

Webex

Enabling the Webex REST API/SDK Access

Webex API Documentation

API Examples

SDK Examples

Firepower

Enabling API/SDK Access to Firepower

Firepower API Documentation

Meraki

Enabling API/SDK Access to Meraki

Meraki API Documentation

Meraki SDK Documentation

Meraki Authorization

Intersight

Enabling API Access to Intersight

Intersight API Documentation

Intersight SDK Documentation

Intersight Authorization

UCS Manager

Enabling API Access to UCS Manager

UCS Manager API Documentation

Python SDK Documentation

PowerShell SDK Documentation

Additional UCS Manager Programmability Resources

DNA Center

Enabling API/SDK Access to DNA Center

DNA Center API Documentation

DNA Center SDK Documentation

SDK Authorization

AppDynamics

Exam Preparation Tasks

References

Chapter 17 Final Preparation

Getting Ready

Tools for Final Preparation

Pearson Cert Practice Test Engine and Questions on the Website

Accessing the Pearson Test Prep Software Online

Accessing the Pearson Test Prep Software Offline

Customizing Your Exams

Updating Your Exams

Premium Edition

Chapter-Ending Review Tools

Suggested Plan for Final Review/Study

Summary

Appendix A Answers to the “Do I Know This Already?” Questions

Appendix B Cisco DevNet Professional DEVCOR 350-901 Exam Updates

Glossary

Index

Online Elements

Appendix C Memory Tables

Appendix D Memory Tables Answer Key

Appendix E Dashboard Basics

Glossary

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.204.208