SlideShare a Scribd company logo
1 of 36
Download to read offline
© BIGLOBE Inc. 2017
1
ネットワークオペレーション
⾃動化への道のり
BIGLOBE Inc.
Toshiya Mabuchi
© BIGLOBE Inc. 2017
© BIGLOBE Inc. 20172
l⾺淵 俊弥(MABUCHI Toshiya)
pビッグローブ株式会社 システム基盤本部
l現在のお仕事
pASネットワーク(AS2518)の設計/運⽤全般
ØPeering
Øネットワーク設計
Ø各種回線の開通
Ø機器/機能検証
Ø⾃動化/可視化ツールの開発 など…
⾃⼰紹介
© BIGLOBE Inc. 20173
ShowNetも⾃動化!
© BIGLOBE Inc. 20174
ISPにおける
⾃動化の話をしていきます
今回は!
© BIGLOBE Inc. 20175
BIGLOBEがピアリングするまで
l Peering情報のやりとり
l ⼿順書/Script作成
l ⼿順書 Script査閲/承認
l 作業の実施
p ⼿順書印刷
p 各種確認ツールの起動
p ログイン
p 事前確認
p 設定
p 事後確認
p コンフィグ保存
l 作業完了報告/資料更新
© BIGLOBE Inc. 20176
現状の課題
l作成
p作成/置換ミスを誘発する可能性がある⼿製の⼿順書
l査閲/承認
p⼿順書/スクリプトが⻑く,
査閲に時間がかかってしまう
l作業
p確認ポイントが多く、コンフィグ投⼊/切り戻しにも
時間がかかる
© BIGLOBE Inc. 20177
何よりも…
ピアリングをしていく上で、
「作成/査閲/査閲をする時間」
に時間は割きたくない
極⼒、⾃動化/省⼒化をしたい
© BIGLOBE Inc. 20178
⾃動化の前提条件
l作業の全⼯程を極⼒省⼒化できる
l事前の作業レビューが可能
l作業時のログを必ず残せる
© BIGLOBE Inc. 20179
自動化できそうな所を考える
l ⼿順書/コンフィグ作成
p⼿順の抽象化で確認項⽬の差を吸収
p⼿順書⾃体の⾃動で作成
l査閲/承認
p⾃動化は難しいが,
査閲ポイントを絞ることで⾼速化
l設定作業
p既存のOSSツールを利⽤することで、
確認と設定を⾃動で実施
© BIGLOBE Inc. 201710
NAPALM使えば実現できそう!
© BIGLOBE Inc. 201711
l Pythonのネットワーク設定⽀援ライブラリ
pマルチベンダー環境下においての⾃動化に対応
ØEOS/JUNOS/IOS-XR/NXOS/IOS/
FortiOS/Pluribus/PANOS/MikroTik/VyOS
に対応(2017/06/05現在)
p確認/設定が抽象化されているので全機種共通の
記述で使える
NAPALM?
Network Automation and Programmability Abstraction Layer with Multivendor support
© BIGLOBE Inc. 201712
NAPALMの抽象化例 -既存の機器出⼒結果-
IOS-XR JUNOS
• プログラムに認識させるための正規化がかなり厳しい
• 採⽤機器毎にNETCONFやexpectから欲しい情報を
それぞれ抜き出さないといけない
• プログラムに優しい出⼒結果ではない
© BIGLOBE Inc. 201713
NAPALMの抽象化例 -既存の機器出⼒結果-
Napalm
• 取得も設定もpythonプログラム上
• 値は全てJSON
• 抽象化された結果を返す
• JUNOSもIOSXRも共通
• プログラム上の関数も勿論共通
© BIGLOBE Inc. 201714
実際に使って⾃動化してみました
© BIGLOBE Inc. 201715
システムの概要
作業者
⼿順書
査閲者
Router1Router2
状態確認 設定変更
⼿順書解析
⼿順書作成/実⾏
Webから⼿順書の作成
確認結果から継続/中断の判断
設定反映の実⾏
対象機器
設定するパラメータ
状態確認する内容
⼿順書を解析
確認/設定はnapalm
結果を作業者に返す
© BIGLOBE Inc. 201716
⾃動設定の設定作業例
lISPのPeering作業を想定
p今回はPrivatePeerの場合
Ø事前状態確認
ØInterfaceの設定
ØBGP Policyの設定
ØBGP Neighborの設定
Ø事後状態確認
AS65002
(GoBGP)
AS65001
(JUNOS)
確認後、問題なければBGP設定
・Hostname
・Version
・CPU/Memory
・Interface
・Route
・BGP
BIGLOBE側
© BIGLOBE Inc. 201717
⼿順書(シナリオ)ファイルの設定例
Validatate
事前確認する項⽬を記述する
・ホスト名とバージョン
・BGP状態
・CPU/Memory 等…
© BIGLOBE Inc. 201718
⼿順書(シナリオ)ファイルの設定例
設定投⼊編
設定したパラメータと
Configのテンプレートから
Configを作成し、投⼊
© BIGLOBE Inc. 201719
⼿順書(シナリオ)ファイルの実⾏結果例
[状態の確認]
・設定したValidateと実機器の
状態が合っているか確認
・invalidな状態があれば、
詳細を表⽰して、指⽰を待つ
© BIGLOBE Inc. 201720
⼿順書(シナリオ)ファイルの実⾏結果例
[設定投⼊]
・設定したパラメータと
Configのテンプレートから
Configを作成し、投⼊
[既存コンフィグとの差分を表⽰]
・問題なければ投⼊
・戻す場合はコンフィグを
ロールバックして終了
© BIGLOBE Inc. 201721
https://goo.gl/aun4Cg
デモ
© BIGLOBE Inc. 201722
l設定作業は現実的な環境下(マルチベンダ)
においても、かなりの⾼速化ができた
p2時間 → 5分!
lコアの部分(抽象化)はNAPALMがある
p⾃社に適合する形に適合させるだけでOK
l勢いのあるOSSを使う
p要望も取り込んでくれるかも
Ø私もContributeしました! J
良かったこと
© BIGLOBE Inc. 201723
lNAPALMが使えない場合がある
pサポートするOSのバージョンが⽐較的新しめ
ØIOS-XR 5.1.0以上からサポートなど
– http://napalm.readthedocs.io/en/latest/support/index.html
pNETCONFやXML agentを有効にしないと
実施できない場合がある
Ø各ルータに追加の設定が必要になる
超えるべき壁もまだ沢⼭
© BIGLOBE Inc. 201724
lYAML形式の⼿順書⾃体は⼿書き
p作業者への学習コストが⾼め
l作業は⾃動化できても、承認依頼や⼿順
書管理は既存のまま
lNAPALMは発展途上中
pまだ微妙に⾜りない機能もあったりする
超えるべき壁もまだ沢⼭
© BIGLOBE Inc. 201725
ここで終われない!
Extra round.
© BIGLOBE Inc. 201726
lYAML形式の⼿順書⾃体は⼿書き
p作業者への学習コストが⾼め
l作業は⾃動化できても、承認依頼や⼿順
書管理は既存のまま
lNAPALMは発展途上中
pまだ微妙に⾜りない機能もあったりする
(再掲)超えるべき壁もまだ沢⼭
© BIGLOBE Inc. 201727
作業者
⼿順書
査閲者
Router1Router2
状態確認 設定変更
⼿順書解析
⼿順書作成/実⾏
⼿書きでなくWebから⽣成
Webでそのまま査閲/承認
さらにWrapするWebGUIを開発
WebGUI
(Django)
NAPALM
実行ツール
⾃動通知で
やりとりのロスを減らす
© BIGLOBE Inc. 201728
YML形式の手順書をWebから生成
© BIGLOBE Inc. 201729
手順書と作業状態の管理ツール
© BIGLOBE Inc. 201730
Chatops
作業が登録/承認されたらチャットで通知
© BIGLOBE Inc. 201731
手順書確認や承認もWeb上で
© BIGLOBE Inc. 201732
l運⽤者のみなさま
p⾊んなツール使って⾃動化してみませんか?
Øいろんなツールを使ってみた
情報共有だけでもすごく参考になります
Ø⼩さいことでもOK!
p⼀緒に⾊んな壁を乗り越えるためのフィード
バックをお互いにしませんか?
皆様にお願い
© BIGLOBE Inc. 201733
lメーカー/ベンダーのみなさま
p⾃動化のためのツール/APIを提供して下さい!
Ø⾃動化がしやすいのは、選定される基準になります
p⾃動化のハードルを下げて欲しい!
Ø⾊んな事例の紹介ももっと聞きたいです
Ø⾃動化にまつわるAPIのドキュメントも
充実させてほしいです!
pOSSに乗ってきて欲しいです
ØNapalmに搭載可能なモジュールの提供など
皆様にお願い
© BIGLOBE Inc. 201734
l SmartCS/SmartGSで抽象化してくれませんか?
pいつも⼤変お世話になっているSmartCS
Ø確実な接続性で信頼してます!
ありがとうございます!
p更に、各ベンダーの設定や状態取得の抽象化&中間APIが
できると最⾼にHappyです!
セイコーソリューションズさんへのお願い
シナリオ SmartCS
ベンダーA
ベンダーC
ベンダーB
差分吸収
REST API grpc
© BIGLOBE Inc. 201735
l マルチベンダ対応の⾃動化⽀援ライブラリ
「NAPALM」を使って⾃動化してみました
p 現実的な⾃社の環境に適⽤できるものができた
p 作業省⼒化が可能
l より省⼒化するためにWebGUIでの⼿順書作成⽀援ツールを
作りました
l 抽象化レイヤーとしてのSmartCSお願いします!
まとめ
一緒に自動化に向けて挑戦して、共有していきませんか?
皆様の共有が業界全体の自動化の歩みを早めます!
© BIGLOBE Inc. 201736
l 発表で使ったツールは全て公開してます
p Napalm-scenario(YML⼿順書⾃動実⾏ツール)
Ø https://github.com/as2518/napalm-scenario
p OperationHQ(YML⼿順書作成/管理WebGUI)
Ø https://github.com/as2518/ops-hq
l NAPALM
p https://github.com/napalm-automation/napalm
l 参考リンク
p JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性
Ø Napalm-scenarioの原型はこちら
Ø https://www.slideshare.net/taijitsuchiya5/jsnapypyez
Ø https://github.com/as2518/scenarioJUNOS
最後に

More Related Content

What's hot

本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネットYuya Rin
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeKLab Inc. / Tech
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催) ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催) akira6592
 
ISPの向こう側、どうなってますか
ISPの向こう側、どうなってますかISPの向こう側、どうなってますか
ISPの向こう側、どうなってますかAkira Nakagawa
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collectionakira6592
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?Yuya Rin
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方akira6592
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたakira6592
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)シスコシステムズ合同会社
 
データセンターネットワークの構成について
データセンターネットワークの構成についてデータセンターネットワークの構成について
データセンターネットワークの構成についてMicroAd, Inc.(Engineer)
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理Motonori Shindo
 
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜Taiji Tsuchiya
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向Yuya Rin
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414Kentaro Ebisawa
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザインMasayuki Kobayashi
 
バックボーン運用から見るインターネットの実情
バックボーン運用から見るインターネットの実情バックボーン運用から見るインターネットの実情
バックボーン運用から見るインターネットの実情IIJ
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コースJuniper Networks (日本)
 

What's hot (20)

本当は楽しいインターネット
本当は楽しいインターネット本当は楽しいインターネット
本当は楽しいインターネット
 
VyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 BridgeVyOSで作るIPv4 Router/IPv6 Bridge
VyOSで作るIPv4 Router/IPv6 Bridge
 
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催) ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
ネットワーク自動化、なに使う? ~自動化ツール紹介~(2017/08/18追加開催)
 
ISPの向こう側、どうなってますか
ISPの向こう側、どうなってますかISPの向こう側、どうなってますか
ISPの向こう側、どうなってますか
 
進化するIX
進化するIX進化するIX
進化するIX
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collection
 
ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?ネットワークエンジニアはどこでウデマエをみがくのか?
ネットワークエンジニアはどこでウデマエをみがくのか?
 
IIJmio meeting 16 スマートフォンがつながる仕組み
IIJmio meeting 16 スマートフォンがつながる仕組みIIJmio meeting 16 スマートフォンがつながる仕組み
IIJmio meeting 16 スマートフォンがつながる仕組み
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(DevNet編)
 
データセンターネットワークの構成について
データセンターネットワークの構成についてデータセンターネットワークの構成について
データセンターネットワークの構成について
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
 
ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
バックボーン運用から見るインターネットの実情
バックボーン運用から見るインターネットの実情バックボーン運用から見るインターネットの実情
バックボーン運用から見るインターネットの実情
 
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
【SRX】JUNOS ハンズオントレーニング資料 SRXシリーズ サービス ゲートウェイ コース
 

Viewers also liked

自動化ツールの違いを探る
自動化ツールの違いを探る自動化ツールの違いを探る
自動化ツールの違いを探るToshiya Mabuchi
 
お手軽!BGP RIBのリアルタイム解析+可視化
お手軽!BGP RIBのリアルタイム解析+可視化お手軽!BGP RIBのリアルタイム解析+可視化
お手軽!BGP RIBのリアルタイム解析+可視化Toshiya Mabuchi
 
ドメイン名の ライフサイクルマネージメント20171031
ドメイン名の ライフサイクルマネージメント20171031ドメイン名の ライフサイクルマネージメント20171031
ドメイン名の ライフサイクルマネージメント20171031Yoshiki Ishida
 
Ansible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nsoAnsible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nsoAkira Iwamoto
 
Telemetry事始め
Telemetry事始めTelemetry事始め
Telemetry事始めnpsg
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introductionTaiji Tsuchiya
 
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudyKazuhito Miura
 
パケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作るパケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作るcloretsblack
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリde:code 2017
 

Viewers also liked (9)

自動化ツールの違いを探る
自動化ツールの違いを探る自動化ツールの違いを探る
自動化ツールの違いを探る
 
お手軽!BGP RIBのリアルタイム解析+可視化
お手軽!BGP RIBのリアルタイム解析+可視化お手軽!BGP RIBのリアルタイム解析+可視化
お手軽!BGP RIBのリアルタイム解析+可視化
 
ドメイン名の ライフサイクルマネージメント20171031
ドメイン名の ライフサイクルマネージメント20171031ドメイン名の ライフサイクルマネージメント20171031
ドメイン名の ライフサイクルマネージメント20171031
 
Ansible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nsoAnsible x napalm x nso 解説・比較パネルディスカッション nso
Ansible x napalm x nso 解説・比較パネルディスカッション nso
 
Telemetry事始め
Telemetry事始めTelemetry事始め
Telemetry事始め
 
NetOpsCoding#5 introduction
NetOpsCoding#5 introductionNetOpsCoding#5 introduction
NetOpsCoding#5 introduction
 
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
遠くの"計画"よりも今日の"CD"(継続的デプロイ) #jenkinsstudy
 
パケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作るパケットキャプチャでインフラ主導のデバッグ環境を作る
パケットキャプチャでインフラ主導のデバッグ環境を作る
 
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
 

Similar to NAPALMで作るネットワークオペレーション自動化への道のり

LogDept All-in-one
LogDept All-in-oneLogDept All-in-one
LogDept All-in-oneLogDept. LLC
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Masahiro Kiura
 
170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathonkintone papers
 
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるものISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるものTaiji Tsuchiya
 
Introduction to NetOpsCoding
Introduction to NetOpsCodingIntroduction to NetOpsCoding
Introduction to NetOpsCodingTaiji Tsuchiya
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?Developers Summit
 
【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力Cybozucommunity
 
JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革
JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革
JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革MPN Japan
 
こだわりのkintone
こだわりのkintoneこだわりのkintone
こだわりのkintoneYusuke Amano
 
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤Google Cloud Platform - Japan
 
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話Kazuki Murahama
 
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Shotaro Suzuki
 
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介infoScoop
 
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...Insight Technology, Inc.
 
Let's BBQ with us!!
Let's BBQ with us!!Let's BBQ with us!!
Let's BBQ with us!!Hironari Ono
 
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイiwata jaws-ug
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Takashi Matsunaga
 

Similar to NAPALMで作るネットワークオペレーション自動化への道のり (20)

LogDept All-in-one
LogDept All-in-oneLogDept All-in-one
LogDept All-in-one
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
 
170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon170520 DataSpider DevConn Hackathon
170520 DataSpider DevConn Hackathon
 
ISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるものISPネットワーク運用で覗いてるもの
ISPネットワーク運用で覗いてるもの
 
Introduction to NetOpsCoding
Introduction to NetOpsCodingIntroduction to NetOpsCoding
Introduction to NetOpsCoding
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
 
Deploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipelineDeploy TypeScript Application by CodePipeline
Deploy TypeScript Application by CodePipeline
 
【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力【A-4】kintone API、JavaScript APIの実力
【A-4】kintone API、JavaScript APIの実力
 
JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革
JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革
JPC2017 [D1-1] MS HoloLens と MS Azure で実現する製造業における経営の意思決定変革
 
こだわりのkintone
こだわりのkintoneこだわりのkintone
こだわりのkintone
 
データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤データプロダクトを支えるビッグデータ基盤
データプロダクトを支えるビッグデータ基盤
 
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
2022_08_10 SaaS.tech #5業務システム開発でデザインとフロントエンドも妥協しない話
 
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
Enterprise agile dev ops-and-xr-techonology-adoption-for-fintech-20180324
 
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
 
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
【LTセッション】Brainwave 使ってみた_DEEP LEARNING LAB
 
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
 
Let's BBQ with us!!
Let's BBQ with us!!Let's BBQ with us!!
Let's BBQ with us!!
 
Gitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイGitlab ci & ecsへのデプロイ
Gitlab ci & ecsへのデプロイ
 
Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!Zabbixをもっと便利に!安全に!
Zabbixをもっと便利に!安全に!
 

NAPALMで作るネットワークオペレーション自動化への道のり

  • 1. © BIGLOBE Inc. 2017 1 ネットワークオペレーション ⾃動化への道のり BIGLOBE Inc. Toshiya Mabuchi © BIGLOBE Inc. 2017
  • 2. © BIGLOBE Inc. 20172 l⾺淵 俊弥(MABUCHI Toshiya) pビッグローブ株式会社 システム基盤本部 l現在のお仕事 pASネットワーク(AS2518)の設計/運⽤全般 ØPeering Øネットワーク設計 Ø各種回線の開通 Ø機器/機能検証 Ø⾃動化/可視化ツールの開発 など… ⾃⼰紹介
  • 3. © BIGLOBE Inc. 20173 ShowNetも⾃動化!
  • 4. © BIGLOBE Inc. 20174 ISPにおける ⾃動化の話をしていきます 今回は!
  • 5. © BIGLOBE Inc. 20175 BIGLOBEがピアリングするまで l Peering情報のやりとり l ⼿順書/Script作成 l ⼿順書 Script査閲/承認 l 作業の実施 p ⼿順書印刷 p 各種確認ツールの起動 p ログイン p 事前確認 p 設定 p 事後確認 p コンフィグ保存 l 作業完了報告/資料更新
  • 6. © BIGLOBE Inc. 20176 現状の課題 l作成 p作成/置換ミスを誘発する可能性がある⼿製の⼿順書 l査閲/承認 p⼿順書/スクリプトが⻑く, 査閲に時間がかかってしまう l作業 p確認ポイントが多く、コンフィグ投⼊/切り戻しにも 時間がかかる
  • 7. © BIGLOBE Inc. 20177 何よりも… ピアリングをしていく上で、 「作成/査閲/査閲をする時間」 に時間は割きたくない 極⼒、⾃動化/省⼒化をしたい
  • 8. © BIGLOBE Inc. 20178 ⾃動化の前提条件 l作業の全⼯程を極⼒省⼒化できる l事前の作業レビューが可能 l作業時のログを必ず残せる
  • 9. © BIGLOBE Inc. 20179 自動化できそうな所を考える l ⼿順書/コンフィグ作成 p⼿順の抽象化で確認項⽬の差を吸収 p⼿順書⾃体の⾃動で作成 l査閲/承認 p⾃動化は難しいが, 査閲ポイントを絞ることで⾼速化 l設定作業 p既存のOSSツールを利⽤することで、 確認と設定を⾃動で実施
  • 10. © BIGLOBE Inc. 201710 NAPALM使えば実現できそう!
  • 11. © BIGLOBE Inc. 201711 l Pythonのネットワーク設定⽀援ライブラリ pマルチベンダー環境下においての⾃動化に対応 ØEOS/JUNOS/IOS-XR/NXOS/IOS/ FortiOS/Pluribus/PANOS/MikroTik/VyOS に対応(2017/06/05現在) p確認/設定が抽象化されているので全機種共通の 記述で使える NAPALM? Network Automation and Programmability Abstraction Layer with Multivendor support
  • 12. © BIGLOBE Inc. 201712 NAPALMの抽象化例 -既存の機器出⼒結果- IOS-XR JUNOS • プログラムに認識させるための正規化がかなり厳しい • 採⽤機器毎にNETCONFやexpectから欲しい情報を それぞれ抜き出さないといけない • プログラムに優しい出⼒結果ではない
  • 13. © BIGLOBE Inc. 201713 NAPALMの抽象化例 -既存の機器出⼒結果- Napalm • 取得も設定もpythonプログラム上 • 値は全てJSON • 抽象化された結果を返す • JUNOSもIOSXRも共通 • プログラム上の関数も勿論共通
  • 14. © BIGLOBE Inc. 201714 実際に使って⾃動化してみました
  • 15. © BIGLOBE Inc. 201715 システムの概要 作業者 ⼿順書 査閲者 Router1Router2 状態確認 設定変更 ⼿順書解析 ⼿順書作成/実⾏ Webから⼿順書の作成 確認結果から継続/中断の判断 設定反映の実⾏ 対象機器 設定するパラメータ 状態確認する内容 ⼿順書を解析 確認/設定はnapalm 結果を作業者に返す
  • 16. © BIGLOBE Inc. 201716 ⾃動設定の設定作業例 lISPのPeering作業を想定 p今回はPrivatePeerの場合 Ø事前状態確認 ØInterfaceの設定 ØBGP Policyの設定 ØBGP Neighborの設定 Ø事後状態確認 AS65002 (GoBGP) AS65001 (JUNOS) 確認後、問題なければBGP設定 ・Hostname ・Version ・CPU/Memory ・Interface ・Route ・BGP BIGLOBE側
  • 17. © BIGLOBE Inc. 201717 ⼿順書(シナリオ)ファイルの設定例 Validatate 事前確認する項⽬を記述する ・ホスト名とバージョン ・BGP状態 ・CPU/Memory 等…
  • 18. © BIGLOBE Inc. 201718 ⼿順書(シナリオ)ファイルの設定例 設定投⼊編 設定したパラメータと Configのテンプレートから Configを作成し、投⼊
  • 19. © BIGLOBE Inc. 201719 ⼿順書(シナリオ)ファイルの実⾏結果例 [状態の確認] ・設定したValidateと実機器の 状態が合っているか確認 ・invalidな状態があれば、 詳細を表⽰して、指⽰を待つ
  • 20. © BIGLOBE Inc. 201720 ⼿順書(シナリオ)ファイルの実⾏結果例 [設定投⼊] ・設定したパラメータと Configのテンプレートから Configを作成し、投⼊ [既存コンフィグとの差分を表⽰] ・問題なければ投⼊ ・戻す場合はコンフィグを ロールバックして終了
  • 21. © BIGLOBE Inc. 201721 https://goo.gl/aun4Cg デモ
  • 22. © BIGLOBE Inc. 201722 l設定作業は現実的な環境下(マルチベンダ) においても、かなりの⾼速化ができた p2時間 → 5分! lコアの部分(抽象化)はNAPALMがある p⾃社に適合する形に適合させるだけでOK l勢いのあるOSSを使う p要望も取り込んでくれるかも Ø私もContributeしました! J 良かったこと
  • 23. © BIGLOBE Inc. 201723 lNAPALMが使えない場合がある pサポートするOSのバージョンが⽐較的新しめ ØIOS-XR 5.1.0以上からサポートなど – http://napalm.readthedocs.io/en/latest/support/index.html pNETCONFやXML agentを有効にしないと 実施できない場合がある Ø各ルータに追加の設定が必要になる 超えるべき壁もまだ沢⼭
  • 24. © BIGLOBE Inc. 201724 lYAML形式の⼿順書⾃体は⼿書き p作業者への学習コストが⾼め l作業は⾃動化できても、承認依頼や⼿順 書管理は既存のまま lNAPALMは発展途上中 pまだ微妙に⾜りない機能もあったりする 超えるべき壁もまだ沢⼭
  • 25. © BIGLOBE Inc. 201725 ここで終われない! Extra round.
  • 26. © BIGLOBE Inc. 201726 lYAML形式の⼿順書⾃体は⼿書き p作業者への学習コストが⾼め l作業は⾃動化できても、承認依頼や⼿順 書管理は既存のまま lNAPALMは発展途上中 pまだ微妙に⾜りない機能もあったりする (再掲)超えるべき壁もまだ沢⼭
  • 27. © BIGLOBE Inc. 201727 作業者 ⼿順書 査閲者 Router1Router2 状態確認 設定変更 ⼿順書解析 ⼿順書作成/実⾏ ⼿書きでなくWebから⽣成 Webでそのまま査閲/承認 さらにWrapするWebGUIを開発 WebGUI (Django) NAPALM 実行ツール ⾃動通知で やりとりのロスを減らす
  • 28. © BIGLOBE Inc. 201728 YML形式の手順書をWebから生成
  • 29. © BIGLOBE Inc. 201729 手順書と作業状態の管理ツール
  • 30. © BIGLOBE Inc. 201730 Chatops 作業が登録/承認されたらチャットで通知
  • 31. © BIGLOBE Inc. 201731 手順書確認や承認もWeb上で
  • 32. © BIGLOBE Inc. 201732 l運⽤者のみなさま p⾊んなツール使って⾃動化してみませんか? Øいろんなツールを使ってみた 情報共有だけでもすごく参考になります Ø⼩さいことでもOK! p⼀緒に⾊んな壁を乗り越えるためのフィード バックをお互いにしませんか? 皆様にお願い
  • 33. © BIGLOBE Inc. 201733 lメーカー/ベンダーのみなさま p⾃動化のためのツール/APIを提供して下さい! Ø⾃動化がしやすいのは、選定される基準になります p⾃動化のハードルを下げて欲しい! Ø⾊んな事例の紹介ももっと聞きたいです Ø⾃動化にまつわるAPIのドキュメントも 充実させてほしいです! pOSSに乗ってきて欲しいです ØNapalmに搭載可能なモジュールの提供など 皆様にお願い
  • 34. © BIGLOBE Inc. 201734 l SmartCS/SmartGSで抽象化してくれませんか? pいつも⼤変お世話になっているSmartCS Ø確実な接続性で信頼してます! ありがとうございます! p更に、各ベンダーの設定や状態取得の抽象化&中間APIが できると最⾼にHappyです! セイコーソリューションズさんへのお願い シナリオ SmartCS ベンダーA ベンダーC ベンダーB 差分吸収 REST API grpc
  • 35. © BIGLOBE Inc. 201735 l マルチベンダ対応の⾃動化⽀援ライブラリ 「NAPALM」を使って⾃動化してみました p 現実的な⾃社の環境に適⽤できるものができた p 作業省⼒化が可能 l より省⼒化するためにWebGUIでの⼿順書作成⽀援ツールを 作りました l 抽象化レイヤーとしてのSmartCSお願いします! まとめ 一緒に自動化に向けて挑戦して、共有していきませんか? 皆様の共有が業界全体の自動化の歩みを早めます!
  • 36. © BIGLOBE Inc. 201736 l 発表で使ったツールは全て公開してます p Napalm-scenario(YML⼿順書⾃動実⾏ツール) Ø https://github.com/as2518/napalm-scenario p OperationHQ(YML⼿順書作成/管理WebGUI) Ø https://github.com/as2518/ops-hq l NAPALM p https://github.com/napalm-automation/napalm l 参考リンク p JSNAPyとPyEZで作る次世代ネットワークオペレーションの可能性 Ø Napalm-scenarioの原型はこちら Ø https://www.slideshare.net/taijitsuchiya5/jsnapypyez Ø https://github.com/as2518/scenarioJUNOS 最後に