Upload
taiji-tsuchiya
View
24.265
Download
1
Embed Size (px)
Citation preview
なぜネットワーク運用自動化が進まないのか
〜とあるNW屋の泣き言〜
Why is it difficult to automate network operation
Taiji Tsuchiya
2015/4/24 wakamonog x ssmjp x BIGLOBE = wasabi
Introduction
• 土屋 太二(Taiji Tsuchiya)– 28 years old– Twitter:@taijijiji
• お仕事 Responsibility– ネットワークエンジニアNetwork Engineer
– ISPコアネットワークの運用 Network operation of ISP backbone
ネットワーク運用のお仕事Work of network operation
• ルータの設定 Configuring routers• 設定手順書の作成 Creating operation manuals• トラフィック制御 Controlling traffic• ネットワーク資源や構成情報の管理Managing network topology and resources
• 機器の増強、廃止、リプレイスRenovating equipment• 回線やDCラックの調達 Provisioning circuits and racks
ネットワークの自動化事情Current issues surrounding network automation
• サーバインフラと比べて自動化が進んでないCompare to servers, there has not been as much advancement in automation
• Immutable InfrastructureやInfrastructure as codeとは別世界 Underlying problems differ from the above concepts
Why did this happen?
理由その1Reason 1
操作対象OSが多いMany different OSs
Manufacturer OS
Cisco
IOS (IOS-‐XE) IOS-‐XR NX-‐OS
Juniper JUNOS
Brocade NetIron
Network OS Arista EOS
_人人人人人人人人人_ > メーカー独自のCLI <  ̄Y^Y^Y^Y^Y^Y^Y^Y ̄
Manufacturer-‐specific CLI
理由その2Reason 2
標準的な外部APIが確立されていない
No standard API
Manufacturer OS API
Cisco
IOS (IOS-‐XE) • OnePK(*) • NETCONF
IOS-‐XR • OnePK(*) • NETCONF
NX-‐OS • OnePK(*) • NX-‐API(*) • NETCONF
Juniper JUNOS • JUNOS XML Protocol(*) • REST API • NETCONF
Brocade NetIron • NETCONF
• REST API Network OS Arista EOS • eAPI(REST API )
(*) メーカ独自API manufacturer-‐specific API
※1 最新OSの対応状況ですが、Versionによって大きく異なります。 ※2 ネットワーク装置の場合「バグの枯れ」を重視するため 最新OS versionを導入するケースはほとんどありません。 Industry prefers low risk vs. improving on old OS versions
さくらインターネット 湯澤 民浩さん資料より引用 Internet Week 2014 ようこそ、ネットワーク運用自動化の世界へ! https://www.nic.ad.jp/ja/materials/iw/2014/proceedings/s4/
結果的にこうなりがちUltimately, need to develop specific program per device.
理由その3Reason 3
作業失敗時の影響が大きい
Scope of risk
失敗時の影響Scope of risk
• サーバ : 数サービス 通信断Server : Handful of services may go down
• DC系スイッチ : 数十サービス 通信断DC swtichs : Limited numbers of services may go down
• コア系ルータ : エリア 全断Core router : ALL DOWN
5/17/15
_人人人人人人人人人人_ > 失敗したら総務省 <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
Must report to government
理由その4Reason 4
エンジニアのスキルが自動化から遠い
Lack of know-how
エンジニアの得意領域preferred fields
ネットワーク屋network engineer
• ルータCLIマスターrouter CLI
• Cisco/Juniperなんでも来い
• パケットに強いpacket analysis
• トラフィック制御が得意traffic control
• サーバといえばDNS
サーバ屋server engineer
• Linux/Unixマスター• Ubuntu/FreeBSDなんでも来い
• DBやWebサーバに強い• LL言語が得意light weight language
• ネットワークといえばiptables
自動化開発に必要なスキルはこっち Key for automation
理由その5Reason 5
自動化のアイディアが出づらい文化Culture hard to break through
ネットワークエンジニアの文化Culture of network engineer
• 染み付いたCLI文化 Strong CLI culture• インフラの分業化によって、入社時からCiscoスペシャリストを目指しがちHigher incentive for narrow specialization
• 技術革新がとても遅く、実装はメーカ次第Manufacturers slow to innovate and adopt change.
• 開発者 = メーカの人Developers equal manufacturers
理由その6Reason 6
手作業でなんとかなる作業量Quantity of work less than servers
作業量Quantity of work
• サーバ: Servers– 数千〜数万台 Several tens of thousands– 1台あたりの作業: 週に1-2回 A few times a week per device
• ネットワーク機器: Network devices– コア: 10−100台Core devices: A several dozen
– データセンタ 数百〜数千台Data Center devices: A several thousands
– 1台あたりの作業: 数ヶ月に1回Once several months per device
※個人的な感覚で書いてます
理由その7Reason 7
インフラ要員人減らされがち
Not enough engineers
ネットワーク屋の働く環境Environment of network engineers
• 運用要員は必要最低限The number of engineers is minimum
• 開発にまとまった時間がさけないCannot keep enough time for development
• 1件の障害で1週間の予定が吹き飛ぶTime is robbed by incidents
• 学習コストを乗り超えるのに決死の覚悟Learning cost is large
泣き言をたくさん言いましたがやれる理由もありまぁす!
But there are many reasons for automation!
自動化をやれる理由Points in favor of automation
• ルータの自動操作は厳しいが、状態取得は比較的容易– みんな大好きSNMP
Automating router configuration may difficult, but automating the retrieval of router status is easy using SNMP.
• ルータ操作以外の運用業務もたくさん– ルータを設定– 設定を入れるための手順書を作成– トラフィック制御– ネットワーク資源や構成情報を管理– 機器の増強、廃止、リプレイス– 回線やDCラックの調達
There are many important things other than router configuration Automating configuration manuals Managing network resources and topology information
開発の敷居が下がってきたIt’s getting easier to develop software
• 整備されたWeb開発フレームワーク– Python : Django, Flask– Ruby : Rails
• 構成管理ツール– Chef– Ansible– Fabric
Web Frameworks
Provisioning Tools
ネットワーク業界の気になる動き
• NETCONF
• Open Daylight• Whitebox Switch
5/17/15
Interesting industry developments
NETCONF(Network Configuration Protocol)
• XMLを利用したルータ管理プロトコル
• RFC6241で標準化• 業界の標準的なAPIを作る目的
• 現時点ではメーカごとにXML記述が異なる– YANGモデル対応が一つの鍵
Open Daylight
• Linux FoundationのOSSプロジェクト• SDNコントローラプラットフォームを協業開発• 主要なネットワーク機器メーカやサーバメーカが参加
Whitebox Swtich
• ODMベンダ製スイッチ– ソフトウェアOSはユーザ自ら選ぶ
• クラウドやコンテンツ屋のニーズから登場
• 実態としては、ネットワーク機能のあるLinuxサーバ
• サーバと同様の管理ツールを利用可能
環境が揃ったら、あとやるしかないOnce the environment is set, just get it done!
• エンジニアのスキルが試される時代Network engineers need a variety of skills
• 泣きながら一歩ずつ山登るしかないtry, try, try
• ひと山登れたら、情報共有しましょう!Let’s share our own findings and achievements!
個人的な成果物はpublished on github/Qiita
に公開していきます(これからね。。。)
https://github.com/taijiji
http://qiita.com/taijijiji
まずは自分から恥を晒しますMy working projects...
ネットワーク業界にも開発の輪が拡がると幸せI hope to widen the circle of
automation for network operations.
まとめ Summary
自動化が進まない理由1. 操作対象OSが多い
2. 標準的な外部APIが確立されていない
3. 作業失敗時の影響が大きい
4. エンジニアのスキルが自動化から遠い
5. 自動化のアイディアが出づらい文化
6. 手作業でなんとかなる作業量
7. インフラ要員 人減らされがち
自動化がやれそうな理由1. ルータの情報取得は比較的容易
2. 開発の敷居が下がってきた
3. ネットワーク業界の気になる動きNETCONF / Open Daylight / ホワイトボックススイッチ
ネットワーク業界にも開発の輪を広げたい