
Course Outline
DEVASC: Developing Applications and Automating Workflows Using Cisco Core Platforms v1.0
This is a 5 day, instructor led course. Some self-study is also required.
This course helps you prepare to take the 200-901 DevNet Associate (DEVASC) exam. By passing this exam, you earn Cisco Certified DevNet Associate certification.
The Developing Applications and Automating Workflows Using Cisco Core Platforms (DEVASC) v1.0 course helps you prepare for Cisco® DevNet Associate certification and for associate-level network automation engineer roles. You will learn how to implement basic network applications using Cisco platforms as a base, and how to implement automation workflows across network, security, collaboration, and computing infrastructure. The course gives you hands-on experience solving real world problems using Cisco Application Programming Interfaces (APIs) and modern development tools.
• Describe the importance of APIs and use of version control tools in modern software development
• Describe common processes and practices used in software development
• Describe options for organizing and constructing modular software
• Describe HTTP concepts and how they apply to network-based APIs
• Apply Representational State Transfer (REST) concepts to integration with HTTP-based APIs
• Describe Cisco platforms and their capabilities
• Describe programmability features of different Cisco platforms
• Describe basic networking concepts and interpret simple network topology
• Describe interaction of applications with the network and tools used for troubleshooting issues
• Apply concepts of model-driven programmability to automate common tasks with Python scripts
• Identify common application deployment models and components in the development pipeline
• Describe common security concerns and types of tests, and utilize containerization for local development
• Utilize tools to automate infrastructure through scripting and model-driven programmability
This course is designed for anyone who performs or seeks to perform a developer role and has one or more years of hands-on experience developing and maintaining applications that are built on top of Cisco platforms.
The course is appropriate for software developers, application developers, and network engineers who want to expand their skill base and validate their skills in programmability, software, and automation. Students preparing for Cisco Certified DevNet Associate certification will also find this material useful.
The job roles best suited to the material in this course are:
• Network automation engineer
• Software developer
• System integration programmer
Additional job roles that might be interested:
• Infrastructure architect
• Network designer
There are no formal prerequisites for Cisco Certified DevNet Associate certification, but you should make sure to have a good understanding of the exam topics before taking the exam.
And before taking this course, you should have:
• Basic computer literacy
• Basic PC operating system navigation skills
• Basic Internet usage skills
• Hands-on experience with a programming language (specifically Python)
DEVASC: Developing Applications and Automating Workflows Using Cisco Core Platforms v1.0
This is a 5 day, instructor led course. Some self-study is also required.
This course helps you prepare to take the 200-901 DevNet Associate (DEVASC) exam. By passing this exam, you earn Cisco Certified DevNet Associate certification.
The Developing Applications and Automating Workflows Using Cisco Core Platforms (DEVASC) v1.0 course helps you prepare for Cisco® DevNet Associate certification and for associate-level network automation engineer roles. You will learn how to implement basic network applications using Cisco platforms as a base, and how to implement automation workflows across network, security, collaboration, and computing infrastructure. The course gives you hands-on experience solving real world problems using Cisco Application Programming Interfaces (APIs) and modern development tools.
• Describe the importance of APIs and use of version control tools in modern software development
• Describe common processes and practices used in software development
• Describe options for organizing and constructing modular software
• Describe HTTP concepts and how they apply to network-based APIs
• Apply Representational State Transfer (REST) concepts to integration with HTTP-based APIs
• Describe Cisco platforms and their capabilities
• Describe programmability features of different Cisco platforms
• Describe basic networking concepts and interpret simple network topology
• Describe interaction of applications with the network and tools used for troubleshooting issues
• Apply concepts of model-driven programmability to automate common tasks with Python scripts
• Identify common application deployment models and components in the development pipeline
• Describe common security concerns and types of tests, and utilize containerization for local development
• Utilize tools to automate infrastructure through scripting and model-driven programmability
There are no formal prerequisites for Cisco Certified DevNet Associate certification, but you should make sure to have a good understanding of the exam topics before taking the exam.
And before taking this course, you should have:
• Basic computer literacy
• Basic PC operating system navigation skills
• Basic Internet usage skills
• Hands-on experience with a programming language (specifically Python)
Course Contents
Practicing Modern Software Development
Rise of APIs in Software Design
API Data Formats
Serialization and Deserialization of Data
Collaborative Software Development
Version Control with GIT
Branching with GIT
Describing Software Development Process ( Self-Study)
Software Development Methodologies
Test-Driven Development
TDD Example
Code Review
Designing Software (Self-study)
Modular Software Design
Modular Design Benefits
Architecture and Design Patterns
MVC Architecture Pattern
Observer Design Pattern
Introducing Network-Based APIs
HTTP Protocol Overview
HTTP Protocol Applied to Web-Based APIs
HTTP Content Negotiation
RPC-Style APIs
REST-Style APIs
Postman for REST API Consumption
Advanced Postman Topics
Consuming notification Events Using Webhooks
Consuming REST-Based APIs
Common API Constraints
API Authentication Mechanisms
Using HTTP Authentication
Leveraging HTTPS for Security
Handling Secrets for API Consumption
Introducing Cisco Platforms and APIs (Self-study)
Cisco Network Management Platforms
Cisco Compute Management Platforms
Cisco Compute Management APIs
Cisco Collaboration Platforms
Cisco Collaboration APIs
Cisco Security Platforms
Cisco Security APIs
Cisco Network Management Platforms in Cloud
Employing Programmability on Cisco Platforms
Automating Cisco Network Operations
Cisco IOS XE Device-Level APIs
Cisco NX-OS Device-Level APIs
Cisco Controller APIs
Automating Cisco Webex Teams Operations
DevNet Developer Resources
Describing IP Networks (Self-Study)
Basic Networking Concepts
MAC Addresses and VLANs
Network Routes and Routing
Transport Layer and Packet Delivery
Network Device Planes
Relating Network and Applications
Standard IP Network Services
Network Address Translation
Common Protocols
Application Connectivity Issues
Tools for Troubleshooting Connectivity Issues
Explaining the Impact of Network Constraints on Applications
Employing Model-Driven Programmability
Model-Driven Programmability Stack
Network Automation and NETCONF
Exploring YANG Models
Utilizing Data Models with RESTCONF Protocol
Using Python Scripts and Cisco SDKs
Model Driven Programmability in a Cisco Environment
Deploying Applications
Application Deployment Types
Application Deployment Models
Edge Computing Overview
DevOps Practices and Principles
Components of a CI-CD Pipeline
Essential Bash Commands for Development and Operations
Automating Infrastructure
SDN and Intent-Based Networking
Infrastructure as Code
System Management with Ansible
Infrastructure Automation with Ansible Playbooks
CI/CD Pipelines for Infrastructure Automation
Testing and Securing Applications
Software Test Types
Verifying Code Behaviour with Unit Tests
Dockerfile Composition
Using Docker in a Local Developer Environment
Application Security
Securing and Scaling Application Ingress Traffic
Network Simulation and Test Tools
Labs:
• Parse API Data Formats with Python
• Use Git for Version Control
• Identify Software Architecture and Design Patterns on a Diagram
• Implement Singleton Pattern and Abstraction-Based Method
• Inspect HTTP Protocol Messages
• Use Postman
• Troubleshoot an HTTP Error Response
• Utilize APIs with Python
• Use the Cisco Controller APIs
• Use the Cisco Webex Teams™ Collaboration API
• Interpret a Basic Network Topology Diagram
• Identify the Cause of Application Connectivity Issues
• Perform Basic Network Configuration Protocol (NETCONF) Operations
• Use Cisco Software Development Kit (SDK) and Python for Automation Scripting
• Utilize Bash Commands for Local Development
• Construct Infrastructure Automation WorkflowConstruct a Python Unit Test
• Interpret a Dockerfile
• Utilize Docker Commands to Manage Local Developer Environment
• Exploit Insufficient Parameter Sanitization
We strongly recommend you attend this course before attempting the following exam.
Certification & Exam
One training course, one exam
Achieving Cisco Certified DevNet Associate certification proves your skills in developing and maintaining applications built on Cisco platforms. To earn DevNet Associate certification, you pass one exam that covers the fundamentals of software development and design for Cisco platforms
The DevNet Associate Exam v1.0 (DEVASC 200-901) exam is a 120-minute exam associated with the Cisco Certified DevNet Associate certification. This exam tests a candidate’s knowledge of software development and design including understanding and using APIs, Cisco platforms and development, application development and security, and infrastructure and automation. The course, Developing Applications and Automating Workflows Using Cisco Core Platforms, helps candidates to prepare for this exam.
The following topics are general guidelines for the content likely to be included on the exam. However, other related topics may also appear on any specific delivery of the exam. To better reflect the contents of the exam and for clarity purposes, the guidelines below may change at any time without notice.
15%
1.0 Software Development and Design
1.1 Compare data formats (XML, JSON, and YAML)
1.2 Describe parsing of common data format (XML, JSON, and YAML) to Python data
structures
1.3 Describe the concepts of test-driven development
1.4 Compare software development methods (agile, lean, and waterfall)
1.5 Explain the benefits of organizing code into methods / functions, classes, and modules
1.6 Identify the advantages of common design patterns (MVC and Observer)
1.7 Explain the advantages of version control
1.8 Utilize common version control operations with Git
• 1.8.a Clone
• 1.8.b Add/remove
• 1.8.c Commit
• 1.8.d Push / pull
• 1.8.e Branch
• 1.8.f Merge and handling conflicts
• 1.8.g diff
20%
2.0 Understanding and Using APIs
2.1 Construct a REST API request to accomplish a task given API documentation
2.2 Describe common usage patterns related to webhooks
2.3 Identify the constraints when consuming APIs
2.4 Explain common HTTP response codes associated with REST APIs
2.5 Troubleshoot a problem given the HTTP response code, request and API documentation
2.6 Identify the parts of an HTTP response (response code, headers, body)
2.7 Utilize common API authentication mechanisms: basic, custom token, and API keys
2.8 Compare common API styles (REST, RPC, synchronous, and asynchronous)
2.9 Construct a Python script that calls a REST API using the requests library
15%
3.0 Cisco Platforms and Development
3.1 Construct a Python script that uses a Cisco SDK given SDK documentation
3.2 Describe the capabilities of Cisco network management platforms and APIs (Meraki,
Cisco DNA Center, ACI, Cisco SD-WAN, and NSO)
3.3 Describe the capabilities of Cisco compute management platforms and APIs (UCS
Manager, UCS Director, and Intersight)
3.4 Describe the capabilities of Cisco collaboration platforms and APIs (Webex Teams,
Webex devices, Cisco Unified Communication Manager including AXL and UDS
interfaces, and Finesse)
3.5 Describe the capabilities of Cisco security platforms and APIs (Firepower, Umbrella,
AMP, ISE, and ThreatGrid)
3.6 Describe the device level APIs and dynamic interfaces for IOS XE and NX-OS
3.7 Identify the appropriate DevNet resource for a given scenario (Sandbox, Code Exchange,
support, forums, Learning Labs, and API documentation)
3.8 Apply concepts of model driven programmability (YANG, RESTCONF, and NETCONF) in a
Cisco environment
3.9 Construct code to perform a specific operation based on a set of requirements and given
API reference documentation such as these:
• 3.9.a Obtain a list of network devices by using Meraki, Cisco DNA Center, ACI, Cisco
SD-WAN, or NSO
• 3.9.b Manage spaces, participants, and messages in Webex Teams
• 3.9.c Obtain a list of clients / hosts seen on a network using Meraki or Cisco DNA
Center
15%
4.0 Application Deployment and Security
4.1 Describe benefits of edge computing
4.2 Identify attributes of different application deployment models (private cloud, public
cloud, hybrid cloud, and edge)
4.3 Identify the attributes of these application deployment types
• 4.3.a Virtual machines
• 4.3.b Bare metal
• 4.3.c Containers
4.4 Describe components for a CI/CD pipeline in application deployments
4.5 Construct a Python unit test
4.6 Interpret contents of a Dockerfile
4.7 Utilize Docker images in local developer environment
4.8 Identify application security issues related to secret protection, encryption (storage and
transport), and data handling
4.9 Explain how firewall, DNS, load balancers, and reverse proxy in application deployment
4.10 Describe top OWASP threats (such as XSS, SQL injections, and CSRF)
4.11 Utilize Bash commands (file management, directory navigation, and environmental
variables)
4.12 Identify the principles of DevOps practices
20%
5.0 Infrastructure and Automation
5.1 Describe the value of model driven programmability for infrastructure automation
5.2 Compare controller-level to device-level management
2019 Cisco Systems, Inc. This document is Cisco Public. Page 3
5.3 Describe the use and roles of network simulation and test tools (such as VIRL and pyATS)
5.4 Describe the components and benefits of CI/CD pipeline in infrastructure automation
5.5 Describe principles of infrastructure as code
5.6 Describe the capabilities of automation tools such as Ansible, Puppet, Chef, and Cisco
NSO
5.7 Identify the workflow being automated by a Python script that uses Cisco APIs including
ACI, Meraki, Cisco DNA Center, or RESTCONF
5.8 Identify the workflow being automated by an Ansible playbook (management packages,
user management related to services, basic service configuration, and start/stop)
5.9 Identify the workflow being automated by a bash script (such as file management, app
install, user management, directory navigation)
5.10 Interpret the results of a RESTCONF or NETCONF query
5.11 Interpret basic YANG models
5.12 Interpret a unified diff
5.13 Describe the principles and benefits of a code review process
5.14 Interpret sequence diagram that includes API calls
15%
6.0 Network Fundamentals
6.1 Describe the purpose and usage of MAC addresses and VLANs
6.2 Describe the purpose and usage of IP addresses, routes, subnet mask / prefix, and
gateways
6.3 Describe the function of common networking components (such as switches, routers,
firewalls, and load balancers)
6.4 Interpret a basic network topology diagram with elements such as switches, routers,
firewalls, load balancers, and port values
6.5 Describe the function of management, data, and control planes in a network device
6.6 Describe the functionality of these IP Services: DHCP, DNS, NAT, SNMP, NTP
6.7 Recognize common protocol port values (such as, SSH, Telnet, HTTP, HTTPS, and
NETCONF)
6.8 Identify cause of application connectivity issues (NAT problem, Transport Port blocked,
proxy, and VPN)
6.9 Explain the impacts of network constraints on applications
Price per delegate
£3895
Scheduled Classes
Indicia Training, Glasgow:
Please complete the contact form below or call 0141 221 5676 for further course information and available dates.
Alternatively you can email us at info@indiciatraining.com