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
20241112 Real AVS Migration Experience Sharing
pichuang
0
5
Active/Passive HA FortiGate Pair with External and Internal Azure Load Balancer
pichuang
0
8
20240814-採用 Azure VMware Solution 啟動你的 Azure 雲端服務
pichuang
0
32
20240425 Play and Discuss the game “K8S LAN Party”
pichuang
0
130
20231210 Azure Kubernetes Services 永續性軟體工程設計方針
pichuang
1
100
20231129 如何選擇適當的 CNCF Project 來使用
pichuang
0
120
Cloud Native Taiwan User Group: Governance of Open-Source Communities in Non-English Region
pichuang
0
34
20231024 CNSW Lightning Talk: TAG Environmental Sustainability
pichuang
0
140
20230913_採用 Azure OpenAI 和 Azure Kubernetes Service 來建構您自己的 AI 應用程式
pichuang
1
150
Other Decks in Technology
See All in Technology
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
310
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.1k
Can We Measure Developer Productivity?
ewolff
1
150
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
130
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
TypeScript、上達の瞬間
sadnessojisan
46
13k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
Lambdaと地方とコミュニティ
miu_crescent
2
370
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
320
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
140
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
220
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1366
200k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Optimizing for Happiness
mojombo
376
70k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Statistics for Hackers
jakevdp
796
220k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
YesSQL, Process and Tooling at Scale
rocio
169
14k
GraphQLとの向き合い方2022年版
quramy
43
13k
Rails Girls Zürich Keynote
gr2m
94
13k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
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