
Course Outline
DEVCOR: Developing Applications Using Cisco Core Platforms and APIs v1.0
This is a 5 day, instructor led course.
The Developing Applications Using Cisco Core Platforms and APIs (DEVCOR) v1.0 course helps you prepare for 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.
This course helps you prepare to take the 350-901 Developing Applications Using Cisco Core Platforms and APIs (DEVCOR) exam. By passing this exam, you satisfy the core exam requirement toward Cisco Certified DevNet Professional, and you earn the Cisco Certified DevNet Specialist – Core certification
• 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
• Utilise 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
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.
This course covers specialized material about designing, developing, and debugging applications using Cisco APIs and platforms, and managing and deploying applications on Cisco infrastructure. 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.
The course is appropriate for:
• Network engineers expanding their skill-base to include software and automation
• Developers expanding expertise in automation and DevOps
• Solution architects moving to the Cisco ecosystem
• Infrastructure developers designing hardened production environments
The job roles best suited to the material in this course are:
• Senior network automation engineer
• Senior software developer
• Senior system integration programmer
Additional job roles that could find this course useful are:
• Senior infrastructure architect
• Senior network designer
• Senior test development engineer
Students preparing for Cisco Certified DevNet Professional and Cisco Certified DevNet Specialist – Core certification will also find this material useful.
There are no formal prerequisites for Cisco Certified DevNet Associate certification, but you should make sure to have a good understanding of the exam topics before taking the exam.
Before taking this course, you should have:
• 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)
DEVCOR: Developing Applications Using Cisco Core Platforms and APIs v1.0
This is a 5 day, instructor led course.
The Developing Applications Using Cisco Core Platforms and APIs (DEVCOR) v1.0 course helps you prepare for 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.
This course helps you prepare to take the 350-901 Developing Applications Using Cisco Core Platforms and APIs (DEVCOR) exam. By passing this exam, you satisfy the core exam requirement toward Cisco Certified DevNet Professional, and you earn the Cisco Certified DevNet Specialist – Core certification
• 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
• Utilise 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
There are no formal prerequisites for Cisco Certified DevNet Associate certification, but you should make sure to have a good understanding of the exam topics before taking the exam.
Before taking this course, you should have:
• 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)
Course Contents
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
We strongly recommend you attend this course before attempting the following exam.
Certification & Exam
The 350-901 DEVCOR exam certifies your knowledge of software development and design including using APIs, Cisco platforms, application deployment and security, and infrastructure and automation.
After you pass 350-901 DEVCOR, you satisfy the core exam requirement toward Cisco Certified DevNet Professional, and you earn Cisco Certified DevNet Specialist – Core certification.
This exam tests your knowledge of software development and design, including:
• Using APIs
• Cisco platforms
• Application deployment and security
• Infrastructure and automation
20%
1.0 Software Development and Design
1.1 Describe distributed applications related to the concepts of front-end, back-end, and load balancing
1.2 Evaluate an application design considering scalability and modularity
1.3 Evaluate an application design considering high-availability and resiliency (including on-premises, hybrid, and cloud)
1.4 Evaluate an application design considering latency and rate limiting
1.5 Evaluate an application design and implementation considering maintainability
1.6 Evaluate an application design and implementation considering observability
1.7 Diagnose problems with an application given logs related to an event
1.8 Evaluate choice of database types with respect to application requirements (such as relational, document, graph, columnar, and Time Series)
1.9 Explain architectural patterns (monolithic, services oriented, microservices, and event driven)
1.10 Utilize advanced version control operations with Git
• 1.10.a Merge a branch
• 1.10.b Resolve conflicts
• 1.10.c git reset
• 1.10.d git checkout
• 1.10.e git revert
1.11 Explain the concepts of release packaging and dependency management
1.12 Construct a sequence diagram that includes API calls
20%
2.0 Using APIs
2.1 Implement robust REST API error handling for time outs and rate limits
2.2 Implement control flow of consumer code for unrecoverable REST API errors
2.3 Identify ways to optimize API usage through HTTP cache controls
2.4 Construct an application that consumes a REST API that supports pagination
2.5 Describe the steps in the OAuth2 three-legged authorization code grant flow
20%
3.0 Cisco Platforms
3.1 Construct API requests to implement chatops with Webex Teams API
3.2 Construct API requests to create and delete objects using Firepower device management (FDM)
• 3.3 Construct API requests using the Meraki platform to accomplish these tasks
• 3.3.a Use Meraki Dashboard APIs to enable an SSID
• 3.3.b Use Meraki location APIs to retrieve location data
3.4 Construct API calls to retrieve data from Intersight
3.5 Construct a Python script using the UCS APIs to provision a new UCS server given a template
3.6 Construct a Python script using the Cisco DNA center APIs to retrieve and display wireless health information
3.7 Describe the capabilities of AppDynamics when instrumenting an application
3.8 Describe steps to build a custom dashboard to present data collected from Cisco APIs
20%
4.0 Application Deployment and Security
4.1 Diagnose a CI/CD pipeline failure (such as missing dependency, incompatible versions of components, and failed tests)
4.2 Integrate an application into a prebuilt CD environment leveraging Docker and Kubernetes
4.3 Describe the benefits of continuous testing and static code analysis in a CI pipeline
4.4 Utilize Docker to containerize an application
4.5 Describe the tenets of the “12-factor app”
4.6 Describe an effective logging strategy for an application
4.7 Explain data privacy concerns related to storage and transmission of data
4.8 Identify the secret storage approach relevant to a given scenario
4.9 Configure application specific SSL certificates
4.10 Implement mitigation strategies for OWASP threats (such as XSS, CSRF, and SQL injection)
4.11 Describe how end-to-end encryption principles apply to APIs
20%
5.0 Infrastructure and Automation
5.1 Explain considerations of model-driven telemetry (including data consumption and data storage)
5.2 Utilize RESTCONF to configure a network device including interfaces, static routes, and VLANs (IOS XE only)
5.3 Construct a workflow to configure network parameters with:
• 5.3.a Ansible playbook
• 5.3.b Puppet manifest
5.4 Identify a configuration management solution to achieve technical and business requirements
5.5 Describe how to host an application on a network device (including Catalyst 9000 and Cisco IOx-enabled devices)
Price per delegate
£3895
Scheduled Classes
Indicia Training, Glasgow:
Please complete the contact form below or call 0141 221 5676 for further course information and available dates.
Alternatively you can email us at info@indiciatraining.com