Slide 1

Slide 1 text

NetDevOps: Next-Generation Network Engineer Phil Huang Open Networking Solution Engineer, Edgecore Networks DevOpsDays Taipei 2017, Taiwan, Sep. 6, 2017

Slide 2

Slide 2 text

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/

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

Modern Data Center

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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 +

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

NetDevOps

Slide 10

Slide 10 text

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/

Slide 11

Slide 11 text

Infrastructure as Code for Automation Network

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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/

Slide 15

Slide 15 text

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/

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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/

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Network Testing

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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/

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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