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 approx 3 days of self study. The self-study content will be provided as part of the digital courseware that you recieve at the beginning of the course and should be part of your preparation for the exam.

This course is worth 48 Continuing Education (CE) Credits

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
• Describe common security concerns, types of tests, and utilze containerization for local development.

Course Content

Developing Applications And Automating Workflows Using Cisco® Platforms:

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 Overview
HTTP 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
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)

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