Video description
15+ Hours of Video Instruction
The Cisco Certified DevNet Associate DEVASC 200-901 Complete Video Course correlates directly to the DEVASC 200-901 exam blueprint, which lays out the skills needed to operate within the current world of infrastructure automation and programmability, while also preparing them for a successful exam experience.
The Cisco Certified DevNet Associate DEVASC 200-901 Complete Video Course is designed to allow people from both a networking and programming background to jump right in. Each of the 31 lessons directly maps to the exam blueprint and covers the core technologies and concepts needed for exam success. In addition, many of the labs and demonstrations will show you simple and practical uses of infrastructure programmability techniques.
Whether you are preparing for the DEVASC 200-901 exam, or simply looking to expand your understanding of concepts and strategies for operating your infrastructure effectively in the ever-changing digital landscape, this course will provide practical tools and techniques to support your career and exam aspirations. Through theory overviews and hands-on demonstrations, Chris Jackson explains both the basics and intricacies of automation and programmability in an easy to understand way.
Topics include:
Module 1: Software Development and Design
Module 2: Python Fundamentals for DEVASC
Module 3: Understanding and Using APIs
Module 4: Application Deployment and Security
Module 5: Network Fundamentals
Module 6: Infrastructure and Automation
Module 7: Developing on Cisco Platforms
About the Instructor
Chris Jackson, CCIEx2 (RS, SEC) #6256, is a Distinguished Architect working in the Cisco Global Strategy Organization. He is also the author of Network Security Auditing (CiscoPress, 2010), CCNA Cloud CLDADM 210-455 Official Cert Guide (CiscoPress, 2016), and Cisco Certified DevNet Associate DEVASC 200-901 Official Cert Guide (CiscoPress, 2020). Chris is focused on DevOps, Security, Automation, Cloud, and helping Cisco and customers better leverage the business transformational aspects these technologies provide. He holds dual CCIEs in security and routing and switching, CISA, CISSP, ITIL v3, seven SANS certifications, and a bachelor’s degree in business administration.
Skill Level
Learn How To- Program Cisco infrastructure devices
- Implement DevOps automation
- Create a more agile and flexible IT environment
- Study and prepare for DEVASC exam success
Who Should Take This Course
This course is intended for anyone wanting to achieve the Cisco DevNet Associate certification, or anyone who has IT infrastructure and would like to learn how to use emerging technologies to automate and simplify operations.
Course Requirements
- Basic understanding of networking infrastructure equipment
- Computer literacy, PC operating system knowledge, and Internet knowledge
- Hands-on experience with the Python programming language
Lesson Descriptions
Module 1, “Software Development and Design,” introduces key software development methods, like waterfall and agile, and also discusses two common software design patterns MVC and Observer. This module will cover basic Linux BASH usage to make sure that you understand how to find your way around the terminal and the many command line tools you will need to be familiar with. Software version control systems are introduced, as well as how to use the ever-popular git version control platform. This module ends with an introduction to conducting code reviews and understanding of what Test-Driven development is and how to use it to streamline your code writing efforts.
Module 2, “Python Fundamentals for DEVASC,” provides an overview of Python from its syntax to working with variables and data types. We will also review program logic through the use of conditionals and loops to control program flow and branching logic. Next, we discuss Object-Oriented Programing and the use of techniques like classes, methods, and inheritance. We then cover the use of Python modules, as well as listing out key modules you might want to use in your programs to extend Pythons capabilities. Then, we explore Python testing with the UnitTest module. Finally, we discuss the various ways you can input data into your Python program, parse the data, and provide error handling in your code.
Module 3, “Understanding and Using APIs,” begins with understanding what an API is and the common way APIs are used. Next, we cover the essentials of REST APIs, including URL construction, methods, headers, return codes, data-formats, architectural constraints, and various tools used for working with REST APIs. Lastly, you see how to make REST API calls in Python.
Module 4, “Application Deployment and Security,” defines current application deployment models and their characteristics. Then, we discuss what DevOps is as well as tools and techniques used in building continuous integration and deployment pipelines. Next, we explore Docker, how to use it, and build container-based applications. Then, we finish with understanding application security requirements and the importance of building applications with a security-focused mindset. Additionally, this module discusses the Open Web Application Security Project (OWASP)’s top ten, which is a list that highlights the ten most common security vulnerabilities that you need to combat.
Module 5, “Network Fundamentals,” presents several key networking concepts including networking reference models (OSI and TCP/IP); and foundational switching and routing concepts like Ethernet technologies, MAC addresses, VLANs, as well as IPv4 and IPv6 addressing. In addition, this module covers several protocols and technologies that are critical to networking, like DHCP, DNS, NAT, SNMP, and NTP. The module finishes with a focus on troubleshooting application connectivity issues by understanding application constraints and how to read Layer 2 and Layer 3 networking diagrams.
Module 6, “Infrastructure and Automation,” introduces the value of automation to your operational model. We then explore several infrastructure automation concepts including controller versus device-level management; infrastructure as code; continuous integration/continuous delivery pipelines; and automation tools and frameworks such as Ansible, Puppet, and Chef. Then we introduce key model-driven programmability concepts and protocols through an overview of YANG, YANG data models, NETCONF, and RESTCONF. Finally, we will explore a few Cisco-related products used in infrastructure automation such as Cisco NSO, Cisco CML, and pyATS.
Module 7, “Developing on Cisco Platforms,” starts with an overview of key software development like SDKs and how to use them to automate Cisco infrastructure platforms. Next, we discuss the Cisco Campus and Wan networking Platforms and their APIs, including examples of how to interact with the APIs and demonstrations on how they work in practical terms. We then do the same for Cisco Data Center portfolio and Cisco Compute Management Platforms and their associated APIs. The Cisco Collaboration platforms are next, and we end with the Cisco Security platforms and their associated APIs along with how to use them.
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Cisco Press, Pearson IT Certification, Sams, and Que. Topics include IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more.
Learn more about Pearson Video training at http://www.informit.com/video
.
Table of Contents
Introduction
Cisco Certified DevNet Associate DEVASC 200-901: Introduction
Module 1: Software Development and Design
Module Introduction
Lesson 1: Software Development Foundation
Learning Objectives
1.1 Understanding the Software Development Lifecycle
1.2 Understanding Common Design Patterns
1.3 Using MVC
1.4 Using Observer
Lesson 2: BASH Shell
Learning Objectives
2.1 What is Bash?
2.2 Directory Navigation
2.3 File Management
2.4 Environment Variables
Lesson 3: Version Control
Learning Objectives
3.1 What is Version Control?
3.2 Understanding Git
3.3 Using Git
3.4 Git Branch
3.5 Merging and Handling Conflicts
3.6 Using Diff
Lesson 4: Conducting a Code Review
Learning Objectives
4.1 What is a Code Review?
4.2 The Code Review Process
Lesson 5: Test Driven Development
Learning Objectives
5.1 Understanding TDD
5.2 Automated Testing
Module 2: Python Fundamentals for DEVASC
Module Introduction
Lesson 6: Getting Started with Python
Learning Objectives
6.1 Python Primer
6.2 Python Syntax
6.3 Variables and Data Types
6.4 Input and Output
6.5 Conditionals and Loops
6.6 Functions
Lesson 7: Object Oriented Programming and Python
Learning Objectives
7.1 Understanding Object Oriented Programming
7.2 Creating a Class in Python
7.3 Methods
7.4 Inheritance
Lesson 8: Modules
Learning Objectives
8.1 Understanding Python Modules
8.2 Importing a Module
8.3 Importing and Using Your Own Modules
8.4 Useful Modules for Infrastructure Automation
Lesson 9: Unit Testing
Learning Objectives
9.1 What is a Unit Test?
9.2 Using the Unittest Module in Python
Lesson 10: Working with Data in Python
Learning Objectives
10.1 File Input and Output
10.2 Comparing XML, JSON, and YAML
10.3 Parsing CSV in Python
10.4 Parsing XML in Python
10.5 Parsing JSON in Python
10.6 Parsing YAML in Python
Module 3: Understanding and Using APIs
Module Introduction
Lesson 11: What is an API?
Learning Objectives
11.1 Understanding APIs
11.2 REST
11.3 SOAP
11.4 RPC
11.5 Common Usage Patterns With Webhooks
11.6 Interpret an API Sequence Diagram
Lesson 12: Working with REST APIs
Learning Objectives
12.1 REST: HTTP Foundation
12.2 REST: HTTP Headers and Response Codes
12.3 REST: API Authentication
12.4 Understanding Rate Limiting
12.5 Constructing a REST API Request
Lesson 13: Making an API Call With Python
Learning Objectives
13.1 Constructing an API Call with Python Requests Library
13.2 Making the Call and Parsing the Returned Information
13.3 Troubleshooting API Calls
Module 4: Application Deployment and Security
Module Introduction
Lesson 14: Application Deployment Models
Learning Objectives
14.1 NIST Cloud Definitions
14.2 Application Deployment Options
14.3 Application Deployment Methods
Lesson 15: DevOps
Learning Objectives
15.1 What is DevOps?
15.2 Three Ways of DevOps
15.3 DevOps Tools and Technologies
15.4 Continuous Integration/Continuous Delivery (CI/CD) Pipelines
Lesson 16: Docker
Learning Objectives
16.1 Understanding Containers
16.2 Docker Components
16.3 Namespaces and Cgroups
16.4 Union File System
Lesson 17: Using Docker
Learning Objectives
17.1 Using Docker
17.2 Deconstructing a Dockerfile
17.3 Using Docker Hub
Lesson 18: Application Security
Learning Objectives
18.1 Defending Against Application Security Threats
18.2 OWASP Top Threats
18.3 The Role of Infrastructure Devices in App Deployments
18.4 Protecting Application Secrets
Module 5: Network Fundamentals
Module Introduction
Lesson 19: Network Communications ISO and TCP/IP
Learning Objectives
19.1 Understanding the OSI Model
19.2 The Physical Layer
19.3 The Data Link Layer
19.4 The Network Layer
19.5 The Transport and Application Layer
Lesson 20: Common Networking Elements
Learning Objectives
20.1 Network Device Functions
20.2 Switches
20.3 Routers
20.4 Firewalls
20.5 Load Balancers
Lesson 21: Networking Protocols and Services
Learning Objectives
21.1 Understanding Network Services
21.2 Undestanding Common Network Protocols
Lesson 22: Troubleshooting Application Connectivity
Learning Objectives
22.1 Interpreting Network Diagrams
22.2 Identifying Application Connectivity Issues
22.3 Impact of Network Constraints on Applications
Module 6: Infrastructure and Automation
Module Introduction
Lesson 23: Automating Operations
Learning Objectives
23.1 The Value of Automation
23.2 Controller vs. Device-level Automation
23.3 Infrastructure as Code
23.4 CI/CD Pipeline Automation for Network Infrastructure
Lesson 24: Automation Tools and Frameworks
Learning Objectives
24.1 Understanding Automation Frameworks
24.2 Common Frameworks
24.3 Getting Started with Ansible
24.4 Interpreting an Ansible Playbook
Lesson 25: Model Driven Programmability
Learning Objectives
25.1 Understanding NETCONF/RESTCONF
25.2 Interpreting YANG Models
25.3 Comparing YANG Models
25.4 Performing NETCONF Queries
25.5 Performing RESTCONF Queries with Postman
Lesson 26: Using Network Simulations and Testing Tools
Learning Objectives
26.1 Cisco Modeling Labs
26.2 Automated Testing with pyATS
Module 7 Developing on Cisco Platforms
Module Introduction
Lesson 27: Software Development Resources
Learning Objectives
27.1 Exploring DevNet Resources
27.2 What is an SDK?
27.3 Building a Python Script Using SDK Documentation
Lesson 28: Programming Cisco Campus and WAN Networking APIs
Learning Objectives
28.1 Understanding Meraki APIs
28.2 Obtaining a List of Devices from Meraki
28.3 Obtaining a List of Users and Hosts Seen by Meraki
28.4 Understanding Cisco DNA Center APIs
28.5 Obtaining a List of Devices from Cisco DNA Center
28.6 Obtaining a List of Users and Hosts Seen by Cisco DNA Center
28.7 Understanding Cisco SD-WAN APIs
28.8 Obtaining a list of Devices from Cisco SD-WAN
28.9 Applying Model Driven Programmability with NSO
28.10 Obtaining a List of Devices from NSO
28.11 Understanding Device Level IOS-XE APIs
Lesson 29: Programming Cisco Data Center APIs
Learning Objectives
29.1 Understanding UCS Manager APIs
29.2 Understanding UCS Director APIs
29.3 Understanding Intersight APIs
29.4 Understanding Cisco ACI APIs
29.5 Obtain a List of Devices from ACI
29.6 Understanding Device Level NX-OS APIs
Lesson 30: Programming Cisco Collaboration Platforms and APIs
Learning Objectives
30.1 Understanding Cisco Collaboration Portfolio
30.2 Understanding Webex Teams APIs
30.3 Managing Spaces, Participants, and Messages in Webex Teams
30.4 Understanding Webex Meetings and Device APIs
Lesson 31: Programming Cisco Security Platforms and APIs
Learning Objectives
31.1 Understanding Cisco Firepower APIs
31.2 Understanding Cisco Umbrella APIs
31.3 Understanding Cisco ISE APIs
31.4 Understanding Cisco Threat Grid APIs
31.5 Understanding Cisco AMP APIs
31.6 Obtaining Events from AMP for End Points
Summary
Cisco Certified DevNet Associate DEVASC 200-901: Summary