Overview
Duration: 5 days / 40 Hours
The Developing Applications and Automating Workflows Using Cisco 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.
Objectives
After taking this course, you should be able to:
- 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
Content
Practicing Modern Software Development | Lecture |
Describing Software Development Process | Self-study |
Designing Software | Self-study |
Introducing Network-Based APIs | Lecture |
Consuming REST-Based APIs | Lecture |
Employing Programmability on Cisco Platforms | Lecture |
Introducing Cisco Platforms | Self-study |
Describing IP Networks (ELT only) | Self-study |
Relating Network and Applications | Lecture |
Employing Model-Driven Programmability with YANG | Lecture |
Deploying Applications | Lecture |
Testing and Securing Applications | Lecture |
Automating Infrastructure | Lecture |
Lab outline
- 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 a Python Unit Test
- Interpret a Dockerfile
- Utilize Docker Commands to Manage Local Developer Environment
- Exploit Insufficient Parameter Sanitization
- Construct Infrastructure Automation Workflow
Audience
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
Prerequisites
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)
Certification
200-901