SprintGrad | Cisco Certified DevNet Associate (DEVASC 200-901)

Cisco Certified DevNet Associate (DEVASC 200-901)

Software Development and Design
APIs and Cisco Platform Development
Infrastructure Automation
Module - 1

Introduction to Cisco DevNet Associate Certification

Module - 2

Software Development and Design

Module - 3

Introduction to Python

Module - 4

Python Functions, Classes, and Modules

Module - 5

Working with Data in Python

Why Get Certified
  • Covers the benefits and advantages of becoming Cisco certified.
Cisco Career Certification Overview
  • Provides a high-level overview of the Cisco career certification portfolio.
  • Identifies the five levels of accreditation in Cisco certifications: Architect, Expert, Professional, Associate, and Entry.
  • Details the simplification of the certification process, noting only a single exam is required to become CCNA certified.
  • Explains that the CCENT certification was removed and its topics absorbed into the new CCNA.
  • Describes how the CCNP has changed, now requiring only a core exam and a concentration exam.
Cisco DevNet Certifications
  • Covers the Cisco Certified DevNet Associate, Professional, and Specialist certifications.
  • Describes the Cisco Certified DevNet Associate (DEVASC) certification for candidates with at least one year of experience developing applications on Cisco platforms.
  • Introduces the Cisco Certified DevNet Professional certification, requiring a minimum of three to five years of experience.
Cisco DevNet Overview
  • Provides an overview of DevNet, its value, and available resources at developer.cisco.com.
  • Explains that the Discover page includes Learning Tracks that guide users through labs and track progress.
  • Introduces DevNet Automation Exchange as a platform for sharing code based on consumable use cases (Walk, Run, Fly) that adhere to the automation lifecycle: Day 0 (Install), Day 1 (Configure), Day 2 (Optimize), and Day N (Manage).
Software Development Lifecycle
  • Defines the Software Development Lifecycle (SDLC) as a structure for building sustainable and coherent software.
  • Outlines SDLC stages: Planning, Defining, Designing, Building, Testing, and Deployment/Maintenance.
  • Describes the Waterfall method as a serial approach to software development.
  • Introduces Lean principles, focusing on eliminating waste and continuous improvement.
  • Defines Agile as a Lean implementation for software development, characterized by working software and regular reflection in sprints.
Common Design Patterns
  • Introduces the Separation of Concerns (SoC) principle to decouple application interdependencies.
  • Describes the Model-View-Controller (MVC) pattern, consisting of a Model (data), View (presentation), and Controller (user input).
  • Notes the Observer Pattern for objects notifying dependent objects of changes.
Linux BASH
  • Covers key aspects of the Linux BASH shell, including man for documentation, sudo for privilege escalation, and common commands like cp, ls, cat, and echo.
Software Version Control & Git
  • Defines version control as the process of saving copies of files to track changes.
  • Discusses Git as a free, open-source distributed version control system.
  • Outlines the basic Git workflow: modify, git add, git commit, and git push.
  • Explains key commands like git clone, git init, git pull, git branch, and git checkout.
  • Discusses git merge to combine branches and how to handle merge conflicts.
Conducting Code Review
  • Highlights creating higher-quality software as a key benefit of code review and provides best practices.
Getting Started with Python
  • Describes Python as the de facto standard for infrastructure automation.
  • Emphasizes using virtual environments (venv) to manage Python modules.
  • Details the pip command for installing packages from PyPI (Python Package Index).
  • Describes using requirements.txt files to manage package dependencies.
Understanding Python Syntax
  • Explains that whitespace and indentation are used to separate blocks of code.
  • Describes comments using # for single-line and triple quotes (''' or """) for multi-line.
Data Types and Variables
  • Covers numeric types (integers, floats) and Boolean comparison operators.
  • Describes strings, lists (mutable), tuples (immutable), dictionaries (key:value), and sets.
Input and Output
  • Introduces the input() function to get user information and print() to display results.
Flow Control with Conditionals and Loops
  • Explains if, elif, and else statements for conditional execution.
  • Describes for loops for iterating through sequences and while loops for iterating as long as a condition is true.
Python Functions
  • Defines a function as a reusable, named block of code defined with the def keyword.
  • Details arguments, parameters, and the use of *args and **kwargs.
Object-Oriented Programming and Python Classes
  • Describes Object-Oriented Programming (OOP) as a paradigm to model real-world things.
  • Defines classes as blueprints for creating custom objects, created with the class keyword.
  • Introduces the __init__ method for class setup and initialization.
  • Explains inheritance, where a child class can take on attributes and methods from a parent class.
Working with Python Modules
  • Defines modules as Python files that break code into smaller pieces, included with import.
  • Lists useful Python modules for automation, including sys, os, json, xmltodict, requests, and netmiko.
File Input and Output
  • Demonstrates how to read from and write to text and CSV files using with open() and the csv module.
Parsing Data
  • Describes JSON as a lightweight data-interchange format and the json module for parsing.
  • Explains XML as a data transport format and the xmltodict module for parsing.
  • Defines YAML as a human-friendly data serialization standard and the PyYAML module for conversion.
Error Handling in Python
  • Discusses using the try-except-else-finally block for robust error handling.
Test-Driven Development (TDD) and Unit Testing
  • Introduces TDD as a methodology where test cases are built before code is created.
  • Explains the testing pyramid: Unit tests, Integration tests, and Functional tests.
  • Introduces the unittest module as Python's built-in unit testing framework and the use of assertion methods.
Module - 6

Application Programming Interfaces (APIs)

Module - 7

RESTful API Requests and Responses

Module - 8

Cisco Enterprise Networking Management Platforms and APIs

Module - 9

Cisco Data Center and Compute Management Platforms and APIs

Module - 10

Cisco Collaboration Platforms and APIs

Module - 11

Cisco Security Platforms and APIs

API Fundamentals
  • Describes APIs as a contract between two communicating applications.
  • Differentiates between northbound (user-to-controller) and southbound (controller-to-device) APIs.
  • Explains synchronous (blocking) versus asynchronous (non-blocking) APIs.
Representational State Transfer (REST) APIs
  • Provides an overview of RESTful APIs as an HTTP-based, lightweight, and scalable architectural paradigm.
  • Lists common HTTP request methods (GET, POST, PUT, DELETE, PATCH) and maps them to CRUD operations.
Other API Styles
  • Defines SOAP (Simple Object Access Protocol) as a protocol for exchanging structured XML documents.
  • Explains RPCs (Remote-Procedure Calls) as a mechanism for a client to execute a procedure on a remote server.
REST Constraints
  • Covers Fielding’s six architectural constraints of REST: Client-Server, Statelessness, Cacheable, Uniform Interface, Layered System, and Code-On-Demand.
  • Discusses Pagination for managing large result sets and Rate Limiting for controlling client connections.
REST Tools
  • Introduces curl as a command-line tool for making basic REST calls.
  • Highlights Postman as a graphical tool for making REST calls and exploring APIs.
  • Covers the Python requests library for sending HTTP requests in Python.
Cisco Meraki
  • Introduces Cisco Meraki as a cloud-managed networking solution.
  • Describes the Meraki Dashboard API for provisioning and configuration, authenticated with an X-Cisco-Meraki-API-Key.
  • Covers the Meraki Python SDK (meraki_sdk).
Cisco DNA Center
  • Explains Cisco DNA Center as the command center for Cisco Digital Network Architecture (DNA).
  • Describes the Intent API (a northbound REST API), authenticated with an X-Auth-Token.
  • Highlights the Cisco DNA Center Python SDK (dnacentersdk).
Cisco SD-WAN
  • Defines Cisco SD-WAN as a cloud-first architecture for WAN connectivity.
  • States that Cisco vManage exposes a public REST API interface, authenticated with a cookie.
Cisco ACI
  • Describes Cisco ACI as an SDN-based solution for data centers.
  • Introduces the Management Information Model (MIM/MIT).
  • Mentions the acitoolkit Python library for ACI automation.
Cisco UCS Manager and Intersight
  • Describes Cisco Unified Computing System (UCS) and the ucsmsdk Python SDK.
  • Introduces Cisco Intersight as a cloud-powered infrastructure management platform with Python and PowerShell SDKs.
Webex Teams API
  • Explains API access through Integrations, Bots, and Personal Access Tokens.
  • Notes that webhooks are used for real-time notifications.
Other Collaboration APIs
  • Introduces the Cisco Finesse API (XMPP over BOSH).
  • Covers the Webex Meetings URL and XML APIs.
  • Describes the xAPI for Webex Devices and the AXL API for Cisco Unified Communications Manager.
Cisco Umbrella
  • Describes Cisco Umbrella for blocking threats via DNS and its various APIs (Management, Enforcement, Investigate).
Cisco Firepower
  • Provides an overview of Cisco Firepower Management Center (FMC) and its REST APIs.
Other Security APIs
  • Covers Cisco AMP (Advanced Malware Protection) for Endpoints API.
  • Introduces Cisco ISE (Identity Services Engine) Session and ERS APIs.
  • Explains the Cisco Threat Grid API for malware analysis and threat intelligence.
Module - 12

Model-Driven Programmability

Module - 13

Deploying Applications

Module - 14

Application Security

Module - 15

Infrastructure Automation

Module - 16

Network Fundamentals

Module - 17

Networking Components and Services

NETCONF and YANG
  • Defines NETCONF as a standards-based interface operating on YANG data models.
  • Introduces the Python ncclient library for NETCONF and pyang for validating YANG models.
RESTCONF
  • Explains RESTCONF as an HTTP-based protocol for accessing data defined in YANG.
  • Details how RESTCONF maps NETCONF operations into HTTP methods.
Model-Driven Telemetry
  • Provides an introduction to model-driven telemetry for the timely collection of network statistics.
Application Deployment Models & Methods
  • Describes service models (SaaS, PaaS, IaaS) and deployment models (Private, Public, Hybrid Cloud).
  • Introduces containers as lightweight, portable application packages.
DevOps
  • Explains DevOps as a combination of cultural and technical practices to shorten the software development lifecycle.
  • Outlines a sample DevOps pipeline: Source, Build, Test, and Deploy.
Docker
  • Explains Docker for packaging applications into containers.
  • Introduces the Dockerfile for building custom images and Docker Hub as a public registry.
Identifying and Protecting Against Risks
  • Introduces the NIST Cybersecurity Framework.
  • Explains CVE (Common Vulnerabilities and Exposures) for identifying vulnerabilities.
  • Covers Firewalls (stateful and proxy) and reverse proxies.
Infrastructure as Code (IaC)
  • Introduces IaC as a concept where infrastructure is treated as source code.
Automation Tools
  • Covers Ansible (agentless, YAML playbooks), Puppet (agent-based, DSL), and Terraform (declarative, multi-cloud).
  • Explains Cisco Network Services Orchestrator (NSO) for end-to-end service deployment.
Network Simulation and Testing
  • Introduces Cisco Modeling Labs (CML) as a network simulation platform.
  • Examines pyATS (Python Automated Test System) and Genie for automating network testing and parsing CLI outputs.
Network Reference Models
  • Covers the OSI and TCP/IP networking models and the concept of encapsulation.
Switching and Routing Concepts
  • Introduces Layer 2 concepts: Ethernet, MAC addresses, and VLANs.
  • Delves into Layer 3 concepts: IP addresses, subnets, routing tables, and Cisco Express Forwarding (CEF).
Common Network Components and Planes
  • Differentiates between hubs, switches, and routers.
  • Describes the three functional planes: Management, Control, and Data.
Common IP Services
  • Covers DHCP for dynamic IP configuration and DNS for hostname resolution.
  • Describes SNMP for network management and NTP for time synchronization.
Troubleshooting
  • Describes a systematic approach to troubleshooting using ping, traceroute, and nslookup.