Developing Applications And Automating Workflows Using Cisco® Platforms

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?

On-line from
your chosen location

At our dedicated
training facility

On-site at
your premises

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.

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/

You will receive a full set of course notes
and all supporting materials for your course.

Hard Copy Delivered to your premises or Downloaded to a chosen device.

Download a
Course Outline PDF

You will receive a full set of course notes and all supporting materials for your course.
Hard Copy Delivered to your premises or Downloaded to a chosen device.

To book this course please call 
+44 (0) 1444 410296 or email Info@kplknowledge.co.uk

Microsoft Gold Learning Partner 250px

Training and accreditation is provided through Global Knowledge