Developing Applications Using Cisco Platforms and APIs

The Developing Applications Using Cisco Core Platforms and APIs (DEVCOR) course helps you prepare for the Cisco DevNet Professional certification and for professional-level network automation engineer roles. You will learn how to implement network applications using Cisco® platforms as a base, from initial software design to diverse system integration, as well as testing and deployment automation. The course gives you hands-on experience solving real world problems using Cisco Application Programming Interfaces (APIs) and modern development tools.

To fully benefit from this course, you should have three to five years of experience designing and implementing applications that are built on top of Cisco platforms.

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.

Objetivos

After completing this course you should be able to:

Describe the architectural traits and patterns that improve application maintainability
Describe the architectural traits and patterns that improve application serviceability
Identify steps to design and build a ChatOps application
Implement robust Representational State Transfer (REST) API integrations with network error handling, pagination, and error flow control
Describe the necessary steps for securing user and system data in applications
Describe the necessary steps for securing applications
Identify common tasks in automated application release process
Describe best practices for application deployment
Describe methodologies for designing distributed systems
Describe the concepts of infrastructure configuration management and device automation
Utilize Yet Another Next Generation (YANG) data models to describe network configurations and telemetry
Compare various relational and nonrelational database types and how to select the appropriate type based on requirements

Software Development

Disponible en formato e-learning

Disponible en formato presencial

Disponible en formato a distancia

Subvención disponible
A través de Fundae, cumpliendo requisitos.

Duración
25 horas

  • Dificultad 50% 50%
  • Nivel alcanzado 80% 80%

Dirigido a

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, as well as network engineers looking to expand their knowledge to include software and automation.

This course covers specialized material about designing, developing, and debugging applications using Cisco APIs and platforms, and managing and deploying applications on Cisco infrastructure.

Conocimientos requeridos

Attendees should meet the following prerequisites:

Knowledge of program design and coding with focus on Python
Familiarity with Ethernet, TCP/IP, and Internet-related networking
Understand the utilization of APIs
Understanding of software development and design methodologies
Hands-on experience with a programming language (specifically Python)
Pre-requisitos:
DEVASC – Developing Applications and Automating Workflows using Cisco Platforms

Temario

Designing for Maintainability (Self-study)

Functional and Non-Functional Requirements
Non-Functional Requirements and Application Quality
Maintainability Through Design
Maintainability Through Implementation
Modularity in Application Design
Dependency Injection
Designing for Serviceability (Self-study)

Observability in Application Design
Scalability in Application Design
High Availability and Resiliency
Latency and Rate Limiting
Architectural Patterns
Sequence Diagrams
Implementing ChatOps Application

Introducing ChatOps
ChatOps with Cisco Webex Teams
API Sequence Diagramming
ChatOps Application Design
Managing SSIDs and Retrieving Location Data Using Cisco Meraki API
Describing Advanced REST API Integration

Consuming Paginated REST API Endpoints
REST API Network Error Strategies
REST API Error Control Flow
Optimizing API Usage
Securing Application Data (Self-study)

Data Storage and Protecting Data Privacy
Storing Application Secrets
Public Key Infrastructure
Configuring Public Key Certificates for Applications
Applying End-to-End Encryption for APIs
Securing Web and Mobile Applications (Self-study)

OWASP Top 10
Injection Attacks and Data Validation
Cross-Site Scripting and Request Forgery
OAuth Authorization Framework
OAuth 2.0 Three-Legged Authorization Flow
Automating Application-Release

Release Packaging and Dependency Management
Advanced Version Control with Git
Branching Strategies
Continuous Testing and Static Code Analysis in CI Pipeline
Identifying CI/CD Pipeline Failures
Deploying Applications

12-Factor App Methodology
Containerizing Applications Using Docker
Kubernetes Introduction
Integrating Applications into Exisiting CI/CD Environment
Hosting Applications on Network Devices
Understanding Distributed Systems

Distributed Application Concepts
Custom Dashboard Example
Event-Driven Architecture Concepts
Microservice Architecture Concepts
Effective Distributed Application Logging Strategies
Using Distributed Logging to Diagnose Problems
Application Monitoring with Cisco AppDynamics
Limitations of Distributed Systems and CAP Theorem
Overcoming Challenges in Distributed Systems
Orchestrating Network and Infrastructure

Configuring Servers Using Cisco UCS APIs
Infrastructure as Code with Terraform
Differentiating Configuration Management Solutions
Configuring Network Parameters Using Puppet
Configuring Network Parameters Using Ansible
Defining Network Automation Source of Truth
Creating and Deleting Objects Using Firepower Threat Defense API
Modeling Data with YANG

YANG Overview
XPath Query Language
YANG Language Syntax
Data Model Modularity
Network Configuration Using RESTCONF
Model-Driven Telemetry
Streaming Telemetry with gNMI
Using Relational and Non-Relational Databases (Self-study)

Evaluating Database Types to Meet Application Needs
Relational Database Concepts
Key-Value Database Concepts
Document-Based Database Concepts
Graph-Based Database Concepts
Columnar-Based Database Concepts
Time-Series Database Concepts
Labs

Construct Sequence Diagram
Construct Web Sequence Diagram
Use Cisco Webex Teams™ API to Enable ChatOps
Integrate Cisco Meraki™ API to List Service Set Identifiers (SSIDs) and Retrieve Location Data
Use Paginated REST API Endpoint
Utilize REST API Error Control Flow Techniques
Evaluate Application for Common Open Web Application Security Project (OWASP) Vulnerabilities
Resolve Merge Conflicts with Git
Diagnose Continuous Integration and Continuous Delivery (CI/CD) Pipeline Failures
Containerize Application Using Docker
Integrate Application into Existing CI/CD Environment
Diagnose Problems Using Application Logs
Configure Network Parameters Using Ansible and Puppet
Synchronize Firepower Device Configuration
Utilize RESTCONF for Network Configuration
Query Relational Database
Query Document Store
Query Time Series Database
Query Graph Database

Solicita información del curso