Network Automation and Programmability Notes for CCNA
The document provides an overview of network automation and programmability, highlighting their definitions, benefits, and key concepts such as automation tools, APIs, and Infrastructure as Code. It discusses the significance of network programmability, including Software-Defined Networking and model-driven programmability, as well as automation in Cisco environments. Additionally, it covers common use cases, best practices, and challenges associated with network automation and programmability.
Network Automation and Programmability Notes for CCNA
The document provides an overview of network automation and programmability, highlighting their definitions, benefits, and key concepts such as automation tools, APIs, and Infrastructure as Code. It discusses the significance of network programmability, including Software-Defined Networking and model-driven programmability, as well as automation in Cisco environments. Additionally, it covers common use cases, best practices, and challenges associated with network automation and programmability.
○ Developer platform with APIs, SDKs, and tools for network
automation and programmability.
3. Cisco EEM (Embedded Event Manager):
○ Enables automated responses to network events.
4. Cisco NETCONF/YANG:
○ Allows programmatic configuration of network devices.
Key Python Libraries for Networking
● Netmiko: Simplifies SSH connections to network devices.
● NAPALM: Abstraction library for managing network devices.
● Paramiko: SSH library for remote connections.
● Requests: For making REST API calls.
Common Use Cases of Network Automation
1. Configuration Management: Automating device configurations to ensure
consistency.
2. Network Monitoring: Real-time alerts and data collection.
3. Troubleshooting: Automated diagnostics to identify and resolve issues.
4. Device Upgrades: Streamlined software upgrades across multiple
devices.
Best Practices for Network Automation
● Start small with automation tasks and gradually scale up.
● Maintain version control for automation scripts (e.g., using Git).
● Test scripts in a lab environment before applying to production.
● Document all automation workflows.
Challenges in Automation and Programmability
● Complexity: Requires understanding of both networking and programming.
● Security Risks: Automating access to devices can pose risks if not
handled securely.
● Tool Selection: Choosing the right tool for specific tasks.
Conclusion
Network automation and programmability are integral to modern networking,
enabling efficiency, flexibility, and scalability. CCNA-certified professionals should familiarize themselves with tools, protocols, and concepts to stay relevant in the evolving industry.
Network Automation using Python 3: An Administrator's Handbook 1st Edition Jithin Aby Alex - Download the ebook now to never miss important information