Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NetDevOps: Next-Generation Network Engineer
Search
Phil Huang
September 06, 2017
Technology
5
1.2k
NetDevOps: Next-Generation Network Engineer
#NetDevOps #Edgecore #Ansible # GNS3 #Networking
Phil Huang
September 06, 2017
Tweet
Share
More Decks by Phil Huang
See All by Phil Huang
20240425 Play and Discuss the game “K8S LAN Party”
pichuang
0
120
20231210 Azure Kubernetes Services 永續性軟體工程設計方針
pichuang
1
81
20231129 如何選擇適當的 CNCF Project 來使用
pichuang
0
110
Cloud Native Taiwan User Group: Governance of Open-Source Communities in Non-English Region
pichuang
0
22
20231024 CNSW Lightning Talk: TAG Environmental Sustainability
pichuang
0
100
20230913_採用 Azure OpenAI 和 Azure Kubernetes Service 來建構您自己的 AI 應用程式
pichuang
1
130
20230615 Kubernetes Scalable Workloads
pichuang
1
290
混合雲基礎架構探討 Microsoft Azure Infrastructure
pichuang
0
140
20230328 ARO Technical Workshop
pichuang
0
100
Other Decks in Technology
See All in Technology
「我々はどこに向かっているのか」を問い続けるための仕組みづくり / Establishing a System for Continuous Inquiry about where we are
daitasu
0
170
コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤
takapy
1
150
初中級者用如何使用backlog -VALE TUDOEDITION-
in0u
0
140
年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~
lycorptech_jp
PRO
3
2.9k
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
630
AOAI Dev Day - Opening Session
yoshidashingo
2
470
楽しくGoを学び合う、LayerXの勉強会文化 / LayerX's study culture of having fun and learning Go together
ar_tama
2
350
Azure AI ことはじめ
tsubakimoto_s
0
130
[NIKKEI Tech Talk]Bias for Action!! 実践から学ぶための仕組とコミュニティ / Community for Practice and Learning
kanamasa
0
280
ここがすごいよ! AWS Systems Manager!
saichan11
0
1.8k
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
190
Featured
See All Featured
Statistics for Hackers
jakevdp
792
220k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
How to Think Like a Performance Engineer
csswizardry
4
590
Bash Introduction
62gerente
607
210k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
Thoughts on Productivity
jonyablonski
64
4.1k
Six Lessons from altMBA
skipperchong
24
3.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
How to name files
jennybc
67
96k
How GitHub (no longer) Works
holman
305
140k
Transcript
NetDevOps: Next-Generation Network Engineer Phil Huang <
[email protected]
> Open Networking Solution
Engineer, Edgecore Networks DevOpsDays Taipei 2017, Taiwan, Sep. 6, 2017
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/
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
Modern Data Center
DC Network Evolved in the World Wide 9/8/17 © 2017
Edgecore Networks. All rights reserved | www.edge-core.com 6 Access Aggregation Core
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 +
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
NetDevOps
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/
Infrastructure as Code for Automation Network
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
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
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/
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/
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
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
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/
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
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
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
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
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
Network Testing
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
GNS3 Demonstration Ref: YouTube: Cumulus Linux: Disaggregated networking - why
use proprietary network stacks? - David Bombal
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/
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
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
Join Us! 9/8/17 © 2017 Edgecore Networks. All rights reserved
| www.edge-core.com 30
Join Agile Tour Hsichu 9/8/17 © 2017 Edgecore Networks. All
rights reserved | www.edge-core.com 31 David Ko
Open Networking from Freedom Control Innovation © 2017 Edgecore Networks.
All rights reserved | www.edge-core.com 32