Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NetDevOps: Next-Generation Network Engineer

Phil Huang
September 06, 2017

NetDevOps: Next-Generation Network Engineer

#NetDevOps #Edgecore #Ansible # GNS3 #Networking

Phil Huang

September 06, 2017
Tweet

More Decks by Phil Huang

Other Decks in Technology

Transcript

  1. NetDevOps: Next-Generation Network Engineer Phil Huang <[email protected]> Open Networking Solution

    Engineer, Edgecore Networks DevOpsDays Taipei 2017, Taiwan, Sep. 6, 2017
  2. Phil Huang 黃秉鈞 • Edgecore Networks Solution Engineer • ONF

    Projects • BigSwitch / Pica8 / CumulusLinux • Open Source SI • ONF CORD Ambassador • SDNDS-TW Co-Founder 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 2 ONF: Open Networking Foundation Ref: https://www.linkedin.com/in/phil-huang-09b09895/
  3. Edgecore Networks 9/8/17 3 Delivering at Scale Cumulus® Linux® Network

    OS ICOS Software Network OS Partner SONiC Open Hardware / Open Source Software Delivery & Support
  4. 4

  5. DC Network Evolved in the World Wide 9/8/17 © 2017

    Edgecore Networks. All rights reserved | www.edge-core.com 6 Access Aggregation Core
  6. Switch as a Server Compute Network Bare Metal Server Bare

    Metal Switch Hardware 7 U-Boot & ONIE BIOS & PXE Boot & Provision BIOS & PXE U-Boot & ONIE OS Network OS Linux, Windows… U-Boot & ONIE BIOS & PXE Applications Network OS Linux, Windows… Applications Applications +
  7. Hardware and Software Disaggregation 9/8/17 © 2017 Edgecore Networks. All

    rights reserved | www.edge-core.com 8 OCP-Qualified Hardware Software on Linux-based Platform OCP: Open Compute Project
  8. NetDevOps = Networking + DevOps • Based on Agile Manifesto

    and DevOps culture • It is talking about Network Automation 1. Prevent Fat Fingers Ø“The CLI is Dead, API is Cool!“ (e.g. Ansible, gRPC, NetConf, RESTful …etc) Ø“By 2020, ONLY 30% of network operations teams will use the command line interface (CLI) as their primary interface, down from 85% at YE16.” from Gartner report 2. Repetitive Tasks ØMake reproduce and dispose operations more reliable and predictable 3. Deliver source code ØReuse of known-good automation scripts increases admin confidence as well as task completion accuracy 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 10 Ref: https://cumulusnetworks.com/blog/netdevops-networking-methods-with-a-devops-mindset/
  9. Why use Ansible in Networking • Agentless Ø Don’t need

    any agent on the network devices • Infrastructure as Code (IaC) Ø Same language and docs between Operating and Networking team • Community and network OS vendors driven both Ø Based on Open Source and follow GitHub workflow • Modular framework, easily modified and maintained Ø Simple use and learn 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 12
  10. Network Configuration Workflow 9/8/17 © 2017 Edgecore Networks. All rights

    reserved | www.edge-core.com 13 Ansible Playbook System Team Network Team Production Staging Testing Users Environments Collaboration & Communication
  11. What Tools Should We Look At? 9/8/17 © 2017 Edgecore

    Networks. All rights reserved | www.edge-core.com 14 Ref: https://interestingtraffic.nl/2017/03/27/insights-from-the-netdevops-fall-2016-survey/
  12. What to Automate First? 9/8/17 © 2017 Edgecore Networks. All

    rights reserved | www.edge-core.com 15 Ref: https://interestingtraffic.nl/2017/03/27/insights-from-the-netdevops-fall-2016-survey/
  13. Network Integration with Ansible (>2.3) 9/8/17 © 2017 Edgecore Networks.

    All rights reserved | www.edge-core.com 16 Ref: https://www.ansible.com/network-automation + More than 250+ Ansible Network Modules
  14. Reuse Playbooks in Multiple Deploy 9/8/17 © 2017 Edgecore Networks.

    All rights reserved | www.edge-core.com 17 Ref: https://github.com/pichuang/cumulus_config_backup
  15. Example: Upgrade Switch 9/8/17 © 2017 Edgecore Networks. All rights

    reserved | www.edge-core.com 18 Ref: http://packetpushers.net/infrastructure-as-code-for-the-network-stack/
  16. Version Control – Git • Configuration file repository • File

    change and revision management • Build for teams to work the same files 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 19
  17. Commit Any Change 9/8/17 © 2017 Edgecore Networks. All rights

    reserved | www.edge-core.com 20 $ git add . $ git commit -a -s -m "Add new switch configuration" [master 8cf8a38] Add new switch configuration 1 file changed, 1 insertion(+) create mode 100644 running.conf $ git push -u origin master
  18. Blame Someone 9/8/17 © 2017 Edgecore Networks. All rights reserved

    | www.edge-core.com 21 $ git blame running.conf 69f5f511 (Phil Huang 2016-11-01 13:59:23 +0800 1) Phil Huang 69f5f511 (Phil Huang 2016-11-01 13:59:23 +0800 2) is a 60643262 (Phil Huang 2016-12-01 15:00:51 +0800 3) good 69f5f511 (Phil Huang 2016-11-01 13:59:23 +0800 4) man
  19. 22 9/8/17 © 2017 Edgecore Networks. All rights reserved |

    www.edge-core.com Ref: http://www.pica8.com/sdn-solutions/ethernet-switching/devops-automation Networking
  20. Use Cases: NTT SIC • Network Flexibility − Leverage custom

    applications like GoBGP to run directly − Leverage existing tool to monitor all BGP information with InfluxDB, and visual report from Grafana • Network Simplification − Leveraging ONIE to install NOS allowed NTT SIC to institute zero touch provisioning (ZTP) − Utilized custom REST API to invoke Ansible for provisioning 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 23 Ref: https://cumulusnetworks.com/customers/ntt/ ONIE: Open Network Install Environment OCP-qualified Hardware
  21. Network Simulator – GNS3 • Used by network engineers worldwide

    to 1. Emulate -> Configure -> Test 2. Troubleshoot virtual and real networks • Supports multi vendor environments • Only limitation is your hardware: CPU and memory • Large and active community (800,000+ members) 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 25 Ref: https://docs.gns3.com/1PvtRW5eAb8RJZ11maEYD9_aLY8kkdhgaMB0wPCz8a38/index.html
  22. Serverspec • The concept is based on “Switch as a

    Server” • Can write RSpec tests for checking your devices are configured correctly • Allows for infrastructure code to be written using Test Driven Development (TDD) for networking • Driven by many of the popular configuration management tools, like Ansible, Puppet, CFEngine and Itamae. 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 27 Ref: http://serverspec.org/
  23. TDD for ServerSpec 9/8/17 © 2017 Edgecore Networks. All rights

    reserved | www.edge-core.com 28 TDD: Test-Driven Development Report Unit Test Case
  24. Summary • Emerging trends shaping the data center 1. Hardware

    and Software disaggregation 2. Driving network automation is the rapid expansion of network infrastructure 3. Increase strategic workforce, especially software part • Network engineers require skills include − Linux knowledges − Ansible (or others CM tool) − Network programmability skill − Continued learning and Open Mind 9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 29 Network Engineer Capacity Total Population M-Form
  25. Join Agile Tour Hsichu 9/8/17 © 2017 Edgecore Networks. All

    rights reserved | www.edge-core.com 31 David Ko