Developing Applications and Automating Workflows Using Cisco Core Platforms v1.0 (DEVASC)

What you’ll learn in this course.

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.

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 200-901 DEVASC exam goes live on February 24, 2020


Course duration

Instructor-led training: 5 days in the classroom and 3 days of self-study


How you’ll benefit

This course will help you:

  • Take advantage of the network when you implement applications to fulfill business needs
  • Gain a foundation in the essentials of applications, automation, and Cisco platforms
  • Prepare for the 200-901 DEVASC exam, which earns Cisco Certified DevNet Associate certification


What to expect in the exam

The 200-901 DEVASC exam certifies your knowledge of software development and design including understanding and using APIs, Cisco platforms and development, application development and security, and infrastructure and automation.

After you pass 200-901 DEVASC, you earn Cisco Certified DevNet Associate certification.


Who should enroll

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


Technology areas

  • Automation
  • Network programmability


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


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.

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)

Here are Cisco learning resources that can help you prepare:

  • Python Programming for Network Engineers (PRNE)
  • Explore the DevNet Certification area for specific topics and labs related to this course and certification: https://developer.cisco.com/certification/
Show details


Course Outline

This class includes lecture sections and self-study sections. In instructor-led classes, lectures are delivered in real-time, either in person or via video conferencing. In e-learning courses, the lectures are on recorded videos. In both versions, you will need to review self-study sections on your own before taking the certification exam.

  • 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