なぜネットワーク運用自動化が進まないのか why is it difficult to automate...

30
なぜネットワーク運用自動化が 進まないのか 〜とあるNW屋の泣き言〜 Why is it difficult to automate network operation Taiji Tsuchiya 2015/4/24 wakamonog x ssmjp x BIGLOBE = wasabi

Upload: taiji-tsuchiya

Post on 15-Jul-2015

24.263 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

なぜネットワーク運用自動化が進まないのか

〜とあるNW屋の泣き言〜

Why  is  it  difficult  to  automate  network  operation

Taiji  Tsuchiya

2015/4/24 wakamonog x ssmjp x BIGLOBE = wasabi

Page 2: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

Introduction

• 土屋 太二(Taiji  Tsuchiya)– 28  years  old– Twitter:@taijijiji

• お仕事  Responsibility– ネットワークエンジニアNetwork  Engineer

–  ISPコアネットワークの運用  Network  operation  of  ISP  backbone

Page 3: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

ネットワーク運用のお仕事Work  of  network  operation

• ルータの設定  Configuring  routers• 設定手順書の作成  Creating  operation  manuals•  トラフィック制御  Controlling  traffic•  ネットワーク資源や構成情報の管理Managing  network  topology  and  resources

• 機器の増強、廃止、リプレイスRenovating  equipment• 回線やDCラックの調達  Provisioning  circuits  and  racks

Page 4: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

ネットワークの自動化事情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

Page 5: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

Why did this happen?

Page 6: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

理由その1Reason  1

操作対象OSが多いMany  different  OSs

Page 7: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

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

Page 8: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

理由その2Reason  2

標準的な外部APIが確立されていない

No  standard  API

Page 9: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

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

Page 10: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

さくらインターネット 湯澤 民浩さん資料より引用 Internet Week 2014 ようこそ、ネットワーク運用自動化の世界へ! https://www.nic.ad.jp/ja/materials/iw/2014/proceedings/s4/

結果的にこうなりがちUltimately,  need  to  develop  specific  program  per  device.

Page 11: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

理由その3Reason  3

作業失敗時の影響が大きい

Scope  of  risk

Page 12: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

失敗時の影響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

Page 13: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

理由その4Reason  4

エンジニアのスキルが自動化から遠い

Lack  of  know-how

Page 14: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

エンジニアの得意領域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

Page 15: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

理由その5Reason  5

自動化のアイディアが出づらい文化Culture  hard  to  break  through

Page 16: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

ネットワークエンジニアの文化Culture  of  network  engineer

• 染み付いたCLI文化      Strong  CLI  culture•  インフラの分業化によって、入社時からCiscoスペシャリストを目指しがちHigher  incentive  for  narrow  specialization  

• 技術革新がとても遅く、実装はメーカ次第Manufacturers  slow  to  innovate  and  adopt  change.  

• 開発者  =  メーカの人Developers  equal  manufacturers

Page 17: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

理由その6Reason  6

手作業でなんとかなる作業量Quantity  of  work  less  than  servers

Page 18: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

作業量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

※個人的な感覚で書いてます

Page 19: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

理由その7Reason  7

インフラ要員人減らされがち

Not  enough  engineers

Page 20: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

ネットワーク屋の働く環境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

Page 21: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

泣き言をたくさん言いましたがやれる理由もありまぁす!

But  there  are  many  reasons  for  automation!

Page 22: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

自動化をやれる理由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

Page 23: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

開発の敷居が下がってきたIt’s  getting  easier  to  develop  software

• 整備されたWeb開発フレームワーク– Python  :  Django,  Flask– Ruby  :  Rails

• 構成管理ツール– Chef– Ansible– Fabric

Web Frameworks

Provisioning Tools

Page 24: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

ネットワーク業界の気になる動き

•  NETCONF

•  Open  Daylight•  Whitebox  Switch

5/17/15

Interesting industry developments

Page 25: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

NETCONF(Network  Configuration  Protocol)  

•  XMLを利用したルータ管理プロトコル

•  RFC6241で標準化• 業界の標準的なAPIを作る目的

• 現時点ではメーカごとにXML記述が異なる– YANGモデル対応が一つの鍵

Page 26: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

Open  Daylight

•  Linux  FoundationのOSSプロジェクト•  SDNコントローラプラットフォームを協業開発• 主要なネットワーク機器メーカやサーバメーカが参加

Page 27: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

Whitebox  Swtich

•  ODMベンダ製スイッチ– ソフトウェアOSはユーザ自ら選ぶ

•  クラウドやコンテンツ屋のニーズから登場

• 実態としては、ネットワーク機能のあるLinuxサーバ

•  サーバと同様の管理ツールを利用可能

Page 28: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

環境が揃ったら、あとやるしかない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!

Page 29: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

個人的な成果物は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.

Page 30: なぜネットワーク運用自動化が進まないのか Why is it difficult to automate network operation

まとめ  Summary

自動化が進まない理由1.  操作対象OSが多い

2.  標準的な外部APIが確立されていない

3.  作業失敗時の影響が大きい

4.  エンジニアのスキルが自動化から遠い

5.  自動化のアイディアが出づらい文化

6.  手作業でなんとかなる作業量

7.  インフラ要員  人減らされがち

自動化がやれそうな理由1.  ルータの情報取得は比較的容易

2.  開発の敷居が下がってきた

3.  ネットワーク業界の気になる動きNETCONF  /  Open  Daylight  /  ホワイトボックススイッチ

ネットワーク業界にも開発の輪を広げたい