Cisco Certified DevNet Expert — Course Topics
Software Design, Development, and Deployment.
- Design a solution based on an on-premises, hybrid, or public cloud deployment, considering these factors:
- Deployment: maintainability, modularity (e.g., containers, VM, orchestration, automation, components, and infrastructure requirements).
- Reliability: high availability and resiliency.
- Performance: scalability, latency, and rate limiting.
- Infrastructure: monitoring, observability, and metrics (e.g., instrument placement and instrument deployment).
- Recommend a deployment strategy to mitigate risk and impact on service availability, for a given scenario.
- Modify an existing network automation solution based on business and technical requirements (includes gap analysis).
- Use Git in a CI/CD development workflow.
- Troubleshoot issues with a CI/CD pipeline (e.g., code-based failures, pipeline issues, and tool incompatibility).
Infrastructure as Code.
- Create a scalable solution for infrastructure automation (considering areas such as network impact, risk, and tool selection).
- Build, manage, and operate a Python-based REST API with a web application framework (endpoints, HTTP request, and response).
- Build, manage, and operate a Python-based CLI application using a REST API.
- Consume and use a new REST API, given the documentation.
- Create a RESTCONF or NETCONF payload based on a given YANG module and interpret the response.
- Create a NETCONF filter by using XPath.
- Configure network devices on an existing infrastructure by using NETCONF or RESTCONF, given YANG analysis tools.
- Create and use a role by utilizing Ansible to manage infrastructure, given support documentation.
- Loop control
- Conditionals.
- Use of variables and templating.
- Use of connection plug-ins such as network CLI, HTTPAPI, and NETCONF.
- Use Terraform to statefully manage infrastructure, given support documentation.
- Loop control.
- Resource graphs.
- Use of variables.
- Resource retrieval.
- Resource provision.
- Management of the state of provisioned resources.
- Create a basic Cisco NSO service package to meet given business and technical requirements. The service would generate a network configuration on the target device platforms using the "cisco-ios-cli" NED and be of type "python-and-template".
- Create a service template from a provided NSO device configuration.
- Create a basic YANG module for the service containers (including lists, leaf lists, data types, leaf references, and single argument "when" and "must" conditions).
- Create basic actions to verify the operational status of the service.
- Monitor service status by reviewing the NCS Python VM log file.
- Create, modify, and troubleshoot scripts by using Python libraries and SDK documentation to automate APIs (ACI, AppDynamics, DNA Center, FDM, Intersight, IOS XE, Meraki, NSO, Webex).
- Automate the configuration of a Cisco IOS XE network device (based on a provided architecture and configuration), including these components:
- Interfaces.
- Static routes.
- VLANs.
- Access control lists.
- BGP peering.
- BGP and OSPF routing tables.
- BGP and OSPF neighbors.
- Deploy an application on a Cisco IOS XE device by leveraging the technologies of Guest Shell and application hosting.
- Modify and troubleshoot an automated test by using pyATS to meet requirements.
- Create a testbed file for connecting to Cisco IOS, IOS XE, or NX-OS devices.
- Gather current configuration and operational state from devices using the Genie. parsers and models included with pyATS.
- Develop and execute test jobs and scripts using AEtest to verify network health.
- Design a model-driven telemetry solution based on given business and technical requirements by using gNMI dial-in, gRPC dial-out, and NETCONF dial-in.
- Create YANG model-driven telemetry subscriptions.
- Identify model elements and cadence.
- On-change or event drive.
- Optimize frequency.
- Dial-out subscription.
- Secure telemetry streams.
- Confirm data transmission.
- Identify network issues and make changes.
Containers.
- Create a Docker image (including Dockerfile).
- From a provided image.
- Expose ports.
- Add or copy files.
- Run commands during image build.
- Manipulate entry point and initial commands.
- Establish working directories.
- Environment variables as part of a definition to control an application.
- Docker ignore file.
- Volumes.
- Package and deploy a solution by using Docker Compose.
- Deploy and manage containers.
- Define services, networks, volumes, and links.
- Package and deploy a solution by using Kubernetes.
- Use deployments, secrets, services, ingress, volumes, namespaces, and replicas.
- Manage the lifecycle of pods (e.g., scale up, scale down, help status, logs).
- Monitor pods by building health checks).
- Use the kubectl interface.
- Create, consume, and troubleshoot a Docker host and bridge-based networks and integrate them with external networks.
Security.
- Leverage OWASP secure coding practices into all solutions to meet given requirements.
- Input validation.
- Authentication and password management
- Access control.
- Cryptographic practices.
- Error handling and logging.
- Communication security.
- Create a certificate signing request (CSR) by using OpenSSL; send CSR to a provided certificate authority; and use the certificate to secure a web application.
- Use OAuth2+ to obtain an authentication token.
- Use a secret management system to secure an application.
- Use tokens, headers, and secrets to secure a REST API.