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
    Open Networking Solution Engineer, Edgecore Networks
    DevOpsDays Taipei 2017, Taiwan, Sep. 6, 2017

    View Slide

  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/

    View Slide

  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

    View Slide

  4. 4

    View Slide

  5. Modern Data Center

    View Slide

  6. DC Network Evolved in the World Wide
    9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 6
    Access
    Aggregation
    Core

    View Slide

  7. 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
    +

    View Slide

  8. 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

    View Slide

  9. NetDevOps

    View Slide

  10. 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/

    View Slide

  11. Infrastructure as Code for
    Automation Network

    View Slide

  12. 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

    View Slide

  13. 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

    View Slide

  14. 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/

    View Slide

  15. 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/

    View Slide

  16. 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

    View Slide

  17. 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

    View Slide

  18. 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/

    View Slide

  19. 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

    View Slide

  20. 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

    View Slide

  21. 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

    View Slide

  22. 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

    View Slide

  23. 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

    View Slide

  24. Network Testing

    View Slide

  25. 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

    View Slide

  26. GNS3 Demonstration
    Ref: YouTube: Cumulus Linux: Disaggregated networking - why use proprietary network stacks? - David Bombal

    View Slide

  27. 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/

    View Slide

  28. 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

    View Slide

  29. 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

    View Slide

  30. Join Us!
    9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 30

    View Slide

  31. Join Agile Tour Hsichu
    9/8/17 © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 31
    David Ko

    View Slide

  32. Open Networking
    from
    Freedom
    Control
    Innovation
    © 2017 Edgecore Networks. All rights reserved | www.edge-core.com 32

    View Slide