SlideShare a Scribd company logo
1 of 22
Download to read offline
ネットワークの自動化
ツール最前線
勝男(@katu7414)
ネットワークプログラマビリティ勉強会#17
自己紹介
Network Automation
https://github.com/Katsuya414
SR,Batfish,Ansible,PyATS,Genie
JANOG43 LTで初登壇
NETCON主催者
@katu7414
!2
ネットワークプログラマビリティ勉強会#17
質問
ネットワークプログラマビリティ勉強会#17
Interop Tokyo
or
AWS summit
ネットワークプログラマビリティ勉強会#17
どちらに行きましたか?
ネットワークプログラマビリティ勉強会#17
Cisco live
勉強会初参加です
よろしくお願いします
ネットワークプログラマビリティ勉強会#17
今回は自分が使っている
ネットワークの自動化のツール
比較します
ネットワークプログラマビリティ勉強会#17
自動化すべき対象物
• 多種多様なネットワーク機器
• OSのバージョンもバラバラ
• sshも対応していない
• 現状のドキュメントも整備されてない
ネットワークプログラマビリティ勉強会#17
使っている自動化ツール
ネットワークプログラマビリティ勉強会#17
• config変更するなら一番便利
• 学習コストが低いのでチームメンバーに浸透
しやすい
• コードが読みやすいと言うのは自動化するに
あたって最も重要な要素の一つ
• マルチベンダー対応ありがたい
ネットワークプログラマビリティ勉強会#17
Ansible
Example code
- hosts: iosxr
gather_facts: no
connection: local
tasks:
- name: configure interface settings
iosxr_config:
lines:
- router static
- router static vrf SHIMA
- router static vrf SHIMA address-family ipv4 unicast
コードが読みやすいのは
採用理由になる
ネットワークプログラマビリティ勉強会#17
• configの静的なテストツールとしてはかなり優秀
• L3レイヤーのテストは完璧
• Docker imageあるので構築が楽
• 本番のIPで試験できるので優秀
ネットワークプログラマビリティ勉強会#17
Batfishからの情報
configを挿入するだけなので商用に影響はなく
個人レベルで検証しやすい
ネットワークプログラマビリティ勉強会#17
• Python Automated Test Systems の略
• pyATS のフレームワークの上で動く機能ライブラリ
• configのparseが優秀(ちゃんと整形してくれる)
• recording機能が優秀
• YAML + Pythonの構成
ネットワークプログラマビリティ勉強会#17
pyats_genie
Example Run Results
(pyats_genie) shimakatsuyanoMacBook-puro:workshop shimakatsuya$ python test.py
[2019-06-18 14:53:29,022] +++ nx-osv-1 logfile /tmp/nx-osv-1-
cli-20190618T145329021.log +++
[2019-06-18 14:53:29,022] +++ Unicon plugin nxos +++
--------------------------------------------------------------------------------
Hostname: nx-osv-1
Software Version: NX-OS 7.3(0)D1(1)
BGP Instance VRF Neighbor State
-------------- ------- ---------- -----------
default default 10.1.1.1 established
Total # of Active Neighbors: 1
--------------------------------------------------------------------------------
綺麗に整形するのがとても楽
ネットワークプログラマビリティ勉強会#17
必要な事前知識の
少なさ
○ △ △
お手軽さ △ ○ ○
ドキュメントの
充実性
◎ △ △
ツールの便利さ ○ ○ ◎
ネットワークプログラマビリティ勉強会#17
PC
サーバー
構成図
ネットワークプログラマビリティ勉強会#17
自動化で重要なこと
対象のメンバーの技術レベルも考慮すること
一番大事なのはツールではなくドキュメントの整備
ツールはとりあえず使ってみてから自分のチームに
適正か?を考えよう
自動化は必要なことだと全員が認識しないと進ま
ない。説明やわかりやすさも必要
ネットワークプログラマビリティ勉強会#17
今後挑戦すること
監視ツール(Datadog等もしくは自作)
可視化ツール(自作したいアイデア募集)
BatfishのL2問題
ネットワークプログラマビリティ勉強会#17
今回のツール等のブログ
• https://qiita.com/katu7414/items/
ccef158f5999ce809a3d
• https://qiita.com/katu7414/items/bb9ebf74d01936e3c662
• https://qiita.com/katu7414/items/8e60b8b8f4034009e734
ネットワークプログラマビリティ勉強会#17
ありがとうございました
ネットワークプログラマビリティ勉強会#17

More Related Content

Similar to Network-programmability

ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)Kentaro Ebisawa
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
 
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法SmartNews, Inc.
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Tomoya Hibi
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2uchan_nos
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414Kentaro Ebisawa
 
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現UnityTechnologiesJapan002
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Yoshifumi Kawai
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Boss4434
 
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96hirokiky
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
NET 6で実装された新しいLINQ API
NET 6で実装された新しいLINQ APINET 6で実装された新しいLINQ API
NET 6で実装された新しいLINQ APITomomitsuKusaba
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 
初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptx初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptxAkifumi Niida
 
160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大openrtm
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入Juniper Networks (日本)
 
Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみる
Web エンジニアのためのWeb エンジニアのためのロボットアームの API を考えてみるWeb エンジニアのためのWeb エンジニアのためのロボットアームの API を考えてみる
Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみるFutomi Hatano
 

Similar to Network-programmability (20)

ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)ネットワーク機器のAPIあれこれ入門(NetOpsCoding#2)
ネットワーク機器のAPIあれこれ入門 (NetOpsCoding#2)
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
 
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
Zynga
ZyngaZynga
Zynga
 
Aws privte20110406 arai
Aws privte20110406 araiAws privte20110406 arai
Aws privte20110406 arai
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
【Unity道場京都スペシャル4】Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
 
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
NET 6で実装された新しいLINQ API
NET 6で実装された新しいLINQ APINET 6で実装された新しいLINQ API
NET 6で実装された新しいLINQ API
 
CONBU API の開発
CONBU API の開発CONBU API の開発
CONBU API の開発
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptx初学者のためのプロンプトエンジニアリング実践.pptx
初学者のためのプロンプトエンジニアリング実践.pptx
 
160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大
 
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
【Interop Tokyo 2016】 東京大学におけるジュニパーネットワークス機器の導入
 
Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみる
Web エンジニアのためのWeb エンジニアのためのロボットアームの API を考えてみるWeb エンジニアのためのWeb エンジニアのためのロボットアームの API を考えてみる
Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみる
 

Network-programmability