The Developing Applications and Automating Workflows Using Cisco Core Platforms course helps you prepare for the 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 for the DevNet Associate (DEVASC) exam. By passing this exam, you earn the Cisco Certified DevNet Associate certification.
After completing 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
Course content:
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 Troublshooting 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 Workflow
• Construct a Python Unit Test
• Interpret a Dockerfile
• Utilize Docker Commands to Manage Local Developer Environment
• Exploit Insufficient Parameter Sanitization
Target 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.
Prerequisites:
Attendees should meet the following prerequisites:
• Working knowledge of fundamental terms of computer networking, including LANs, WANs, switching, and routing
• Basics of digital interfaces, public switched telephone networks (PSTNs), and voice over IP (VoIP)
• Fundamental knowledge of converged voice and data networks and Cisco Unified Communications Manager deployment
Recommended prerequisites:
• PRNE-CPLL - Programming for Network Engineers - CPLL
Test certification:
Recommended as preparation for the following exams:
• 200-901 - DevNet Associate Exam