Click here to load reader
Upload
miya-kohno
View
454
Download
0
Embed Size (px)
Citation preview
2 © 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Network領域におけるプログラミングスタイル
• Waterfallよりも Agile -‐-‐-‐-‐ フィードバックと継続的改善
• Impera1ve(命令的)よりもDeclara+ve(宣言的) -‐-‐-‐-‐ Howを指示するのでなく,Whatを合意
• ProcedureよりもModel driven -‐-‐-‐-‐ 逐次命令するのではなく,あるべき姿をモデルで示す
ネットワークは不確定性の高い,並列分散システム
Wikipedia: Barabasi-‐Albert Model
3 © 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Control
Infrastructure, Devices • Physical • Virtual
virtual physical
Service Applica1on
“Declara1ve” “Model-‐driven” 性 の強み 非モデル駆動型(Workflow, Script base) – “How”を”記述”
• Script • Workflow
• CLI • Openflow protocol
状態変化に対応困難
部分的変更,削除が困難
ß Procedure
ß Command
4 © 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Control
Infrastructure, Devices • Physical • Virtual
virtual physical
Service Applica1on
モデル駆動型 – “What”を”合意”
• Service Model
• Device Models
部分的変更や削除を,
一貫性,整合性をもっ
て実施可能
Transac/on Engine
迅速(Agile)な フィードバックループ
“Declara1ve” “Model-‐driven” 性 の強み
• 分散並列処理への親和性 • 不測の事態への対処、頑健性 • 再利用性、保守性,スケール性
ß Inten/on
ß Promise
Top down
BoYom Up
5 © 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
モデリングってそんなにいいの ? (実際の声) • モデル化するために余分な負担と工数がかかる
• 既に完了している仕事をやりなおす必要がある -‐ 仕事の手順は既に確立している
-‐ そのためのワークフローやスクリプトも既にある
• 人間に優しくないのでは
-‐ 人間は逐次思考するのが自然?
• モデル化・抽象化ための,特別なスキルが必要
• 俺俺モデルが横行する
• そもそも,その「モデル」が正しくないかもしれない
6 © 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
確かにそういう面はある..しかし,
• モデル化の努力はきっと良い効果をもたらす -‐ 「目的」と「手段」を切り離すよい機会
• 「正しくないモデル」ということがわかること自体がよいこと -‐ モデルの整合性が自明
• 「とりあえず動けば良い」,というところ以外にメリットがある -‐ 共通言語としてのモデル,再利用性,保守性
• 必要なモデルは標準化しよう! (Benoitがhelpしてくれます!) -‐ 基本部分は標準化,vendor/organiza1on specificな部分は拡張 -‐ 標準化やオープンソース化による,コミュニティ知見の集約と進化