Successfully reported this slideshow.
Your SlideShare is downloading. ×

Quick wins in the NetOps Journey by Vincent Boon, Opengear

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 31 Ad
Advertisement

More Related Content

More from MyNOG (20)

Advertisement

Quick wins in the NetOps Journey by Vincent Boon, Opengear

  1. 1. Quick wins in the NetOps journey Vincent Boon Sales Engineer, APAC
  2. 2. Agenda • Overview • What is NetOps • How it starts • Trends and challenges of network automation • Pre-conditions for Automation • Quick wins for NetOps
  3. 3. Modern Out of Band Management Emergency access during a disruption, initial configuration over a POTS line Connects an Operator to a Console Port Infrastructure as Code enables efficient DevOps Connects an Operator or Machine to Network Nodes An always-on, resilient software defined management overlay (fabric) Resilient serial or IP access over any network, for every day “Classic” Console Server Smart Out of Band NetOps 2.0
  4. 4. NetOps defined • NetOps 1.0 = network operations, or simply running the network • “ClickOps” and reliant on manual interaction with device CLI • Focus on uptime and reactive interventions, risk averse • Often slower to enable new business needs • NetOps 2.0 = Networking + DevOps • Modern approach leveraging CI/CD tools & IaC • More responsive and supportive of business goals • Shift toward risk management rather that risk avoidance • Can include automation, but is not synonymous
  5. 5. How it starts
  6. 6. configure
  7. 7. configure configure configure
  8. 8. configure configure configure configure configure configure configure configure configure
  9. 9. configure configure configure configure configure configure configure configure configure
  10. 10. What have we wrought?
  11. 11. Trouble with configuring via the CLI • Configs applied and maintained by hand • Vendor-specific syntax, ever-changing • Inconsistent configurations, unexplained special cases • Configurations are forgotten; until... reactive break-fix model • Workarounds: brute force, diligence, hard work, RANCID • Fragile scrapers break on upgrades • Human-oriented interfaces are for humans
  12. 12. Manual control Controlled by software
  13. 13. Combining the reliability of software with the low cost of network changes
  14. 14. Agile practices • Lighter but more intense teamwork git + pull requests • collaborative text editing, focused review CI/CD + tests + sandboxes • safety nets are safer DevOps • the best tools and practices adopted by operations Exciting news from the world of software
  15. 15. programmer
  16. 16. configure configure configure configure configure configure configure configure configure 1:100
  17. 17. program program program configure configure configure 1:100
  18. 18. program program configure configure configure configure configure c o n f i g u r e c o n f i g u r e program 1:1000
  19. 19. Automation Trends – It’s a journey * Gartner, Market Guide for Network Automation Tools, February 2022 • >65% of network activities are manual • Only 8% of Enterprises automate more than half of their network tasks • Automation is currently in the trough of disillusionment, however… • 25% of enterprises will automate more than half of network activities by 2025
  20. 20. Hype Cycle of Enterprise Networking: 2021 Network Automation is gaining traction albeit slowly due to lack of confidence in tools, limited skill set and others. Gartner estimates Today 65% of Network Activities are Manual § "Trough of Disillusionment" o Interest wanes o Technology providers shake out o Investments become selective § “Slope of Enlightenment” o More use cases & benefits crystallize & widely understood o 2nd & 3rd generation products appear from providers o More enterprises fund pilots
  21. 21. Challenges to implementing Automation • Network automation network is not without risk • Mixed environment are harder to automate • Legacy change control and lack of confidence in tools • Limited in-house skill or lack of cross functional buy in
  22. 22. • Inventory: do you have good detail of all devices? • Requirements: business's expectation of function level; now & plans • Standards: which model/vocabulary to use in automation • Telemetry: feedback channels • Automation: control channels; tooling • Trust: get experience, confidently predict automation's behaviour • other: Budget, Stakeholders, Suppliers Pre-conditions for automation
  23. 23. Provisioning Monitoring Security … Requirements ? ? ? ? Automation ? ? ? ? Telemetry ? ? ? ? Inventory ? ? ? ? Standards ? ? ? ? Suppliers ? ? ? ? Partners ? ? ? ? Budget ? ? ? ? Trust ? ? ? ?
  24. 24. Quick wins with NetOps and Automation Read only tasks Configuration backup / diff Information collection and report building Start Simple Testing & Troubleshooting Validation Predefine templates for problem determination Deploy tools on demand Auto populating trouble tickets with network information. Verifies that the network is functioning as designed Are the correct VLANs configured on trunk links? Do routing tables contain the desired routes?
  25. 25. Quick Demo Let’s starts with a video
  26. 26. # creds.py # credentials and parameters file # # edit as needed to fit your environment # OM credentials for pmshell omHost = '10.0.0.4’ omUser = 'root’ omPassword = 'mypassword’ # Cisco device credentials ciscoHost = '10.0.0.2’ ciscoUser = 'admin’ ciscoPassword = 'cisco’ # Cisco command command = 'show version’ # pmshell command. edit to change serial ports. pmshell = 'pmshell -l /dev/port23' #!/usr/bin/python3 # # cisco_cmd_pmshell.py # Opengear Solutions Engineering, 6 July 2022 # # Send a command to a Cisco IOS device through OM pmshell # Validated on IOS XE version 16.12.04 and IOS version 15.2(7)E4 from netmiko import ConnectHandler, redispatch import creds import time def connect(): device1 = { 'host': creds.omHost, 'username': creds.omUser, 'password': creds.omPassword, 'device_type': 'terminal_server' }
  27. 27. conn = ConnectHandler(**device1) return conn def command(): conn = connect() conn.send_command_timing(creds.pmshell) conn.write_channel('rnrnrn') time.sleep(5) conn.write_channel('rnrn') redispatch(conn, device_type='cisco_ios') conn.find_prompt() conn.enable() output = conn.send_command(creds.command) print(output) conn.write_channel('rn') time.sleep(1) conn.disconnect() If __name__ == "__main__": command()
  28. 28. Resources https://www.techtarget.com/searchnetworking/tip/12-network-automation- ideas-to-incorporate-in-your-network https://karneliuk.com/2018/07/openconfig-w-o-and-w-ansible-for-arista- eos-cisco-ios-xr-and-nokia-sr-os-part-1-interfaces/ https://pynet.twb-tech.com/blog/netmiko-python-library.html

×