Duration: 5 Days
Course Overview
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.
Please note this course is a combination of Instructor-Led and Self-Paced Study – 5 days in the classroom and approximately 3 days of self study. The self-study content will be provided as part of the digital courseware that you receive at the beginning of the course and should be part of your preparation for the exam.
How can I attend my course?
COURSE OBJECTIVES
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
• 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
COURSE PREREQUISITES
Attendees should meet the following prerequisites:
• Basic computer literacy
• Basic PC operating system navigation skills
• Basic Internet usage skills
• Hands-on experience with a programming language (specifically Python)
Recommended prerequisites:
• PRNE-CPLL – Programming for Network Engineers – CPLL
TEST CERTIFICATION
Recommended as preparation for the following exam:
• 200-901 – DevNet Associate Exam
FOLLOW ON COURSES
The following are recommended for further study:
• DEVCOR – Developing Applications Using Cisco Platforms and APIs
FURTHER INFORMATION
Explore the DevNet Certification area for specific topics and labs related to this course and certification: https://developer.cisco.com/certification/
To book this course please call
+44 (0) 1444 410296 or email Info@kplknowledge.co.uk
Training and accreditation is provided through Global Knowledge