Applying DevOps methods and tools for network engineers
This course covers the basic concepts, concepts, and tools that automate the configuration of network equipment when changes need to be made quickly. The course describes industry-standard software solutions and provides detailed examples of how to use automation software. The training provides the student with both an understanding of the individual software products and an understanding of how to utilize all the components in a complete solution.
Recommended background: Experience with networking equipment from major vendors (Cisco Systems, Juniper Networks, Huawei, etc.) and familiarity with the Python programming language.
Module 1: Introduction to DevOps, Key Tools, Git
1) A look at DevOps core practices.
2) Tasks solved by DevOps tools.
3) Concept of IaaC.
4) Test/Prod scenarios in a networked environment.
5) The Git system as a network configuration tool.
Module 2: Python
1) Applying Python to data networks.
2) Processing configuration files with Python.
3) Network APIs.
4) Nornir library.
Module 3: Network Inventory
1) Software for storing and maintaining infrastructure information.
3) Integration of Netbox with other DevOps tools.
Module 4. Ansible
1) Configuration automation systems.
3) Integrating Ansible with other DevOps tools.
Module 5. Jenkins and continuous integration
1) The concept of CI/CD.
3) Using Jenkins in data networks.
1) Using the git toolkit.
2) Python scripts for routine tasks.
3) Using Nornir library.
4) Populating and using Netbox.
5) Using Ansible.
6) Creating and executing Jenkins Pipelines.
7) Integration final lab work.