SlideShare a Scribd company logo
1 of 12
Download to read offline
Pa#ern	
  Oriented	
  Network	
  Architecture	
January	
  2016	
  
Miya	
  Kohno	
  (mkohno@cisco.com)	
  
2© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Pa#ern	
  –	
  おさらい	
  
•  森羅万象津々浦々,多くのものにパターンが存在する	
  
•  「パターン」は,「モデル」,「構造」と捉えて良いかもしれないが,そこまで厳密で
なくてもよい.また,ボトムアップ的である.言い伝え(saying)やことわざ(proverb)
のようなものもパターンであると言える.	
  
•  パターンを編み出す基本	
  	
  ref.	
  	
  Alexander	
  
-­‐	
  	
  	
  	
  A	
  Problem	
  (in	
  a	
  Context)	
  
(ある状況における)問題を認識する	
  
-­‐  Forces	
  :	
  The	
  heart	
  of	
  every	
  pa#ern	
  
その問題の背後にあるものは何か,問題を特徴づけているものは何か	
  
-­‐  SoluPons	
  and	
  Consequences	
  
どうしたらよいか,そしてその結果何が期待できるか
3© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Pa#ern	
  –	
  モデル化のためのアプローチ	
  
論理に基づくアプローチ(演繹的)
事象に基づくアプローチ(経験的)
4© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Pa#ern	
  Oriented	
  Network	
  Architecture	
  
Pa#ern	
  Oriented	
  Network	
  Architectureをつくっているもの	
  
	
  
•  日々のdevelopment	
  &	
  operaPons	
  
•  NOGの活動	
  
•  IETF -­‐	
  	
  dejurが支配的な標準化団体とは異なり defacto志向 
Rough	
  consensus	
  and	
  running	
  code	
  /	
  No	
  vote,	
  No	
  kings	
  
•  Open	
  Source活動	
  
5© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Pa#ern	
  for	
  Microservices!	
  
Pa#ern	
  for	
  Microservices	
  
h#p://microservices.io/pa#erns/microservices.html	
  
h#ps://uramoto.wordpress.com/2015/09/21/マイクロサービスのデザインパターン/	
  
	
  
Microserviceとは	
  
h#p://marPnfowler.com/arPcles/microservices.html	
  
	
  
一つのアプリケーションを小さいサービスの集合として開発する手法.それぞれのサービスは個別の
プロセスとして動作し,HTTP	
  resource	
  APIなど,軽めの手法でコミュニケーションする.それぞれは異な
るプログラム言語で書かれたり,異なるdata	
  storage技術を使うこともあり,最低限の集中管理により
管理される.	
  
6© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Networkのステートの問題に取り組んでみたい	
  
h#p://www.mpls.jp/presentaPons/MK_state-­‐in-­‐programming_01.pdf	
  
	
  
•  Web	
  ApplicaPonは,Stateを最小化することにより,AvailabilityとScalabilityを
獲得した	
  
•  Internetはもともと,Stateless	
  (circuitに対してdatagram)	
  ,Eventually	
  
Consistent	
  (ルーティングコンバージェンスは非同期)	
  だったが,機能追加の
ために,これまで専らステートを増やす方向で進化してきた	
  
	
  
 e.g.	
  PPP/L2TP,	
  MPLS	
  TE,	
  3GPP	
  mobility,	
  CG-­‐NAT,	
  HTTP	
  proxy,	
  NSR/NSF/ISSU..	
  
7© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
ステートをなぜ最小化したいか	
  
•  スケーリングのボトルネックになる	
  
•  過負荷時に耐えられない à	
  二次障害懸念	
  
	
  
•  Single	
  Point	
  of	
  Failureになる	
  
•  ステートを失うとセッション断などにつながる	
  
•  Chaos	
  Monkey(*)を適用できない!	
  
•  冗長を実現するためには,データの複製だけでなく
ステートの同期が必要 	
  
     à さらなるスケーリングボトルネック懸念	
  
(*)	
  頑健性を上げるため,故意に障害を起こすツール.Nedlixが開発し,オープンソース化した.AWS上のアプリケーションに適用.	
  
h#p://techcrunch.com/2012/07/30/nedlix-­‐open-­‐sources-­‐chaos-­‐monkey-­‐a-­‐tool-­‐designed-­‐to-­‐cause-­‐failure-­‐so-­‐you-­‐can-­‐make-­‐a-­‐stronger-­‐cloud/	
  
8© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
ネットワークのステートを縮減するために	
  
	
  (ただし,適用して問題がないかどうかについては熟考が必要!!)	
  
•  データグラムとステートレスマッピング	
  
“A	
  self-­‐contained,	
  independent	
  enPty	
  of	
  data	
  carrying	
  sufficient	
  informaPon	
  to	
  be	
  routed	
  
from	
  the	
  source	
  to	
  the	
  desPnaPon	
  computer	
  without	
  reliance	
  on	
  earlier	
  exchanges	
  between	
  
this	
  source	
  and	
  desPnaPon	
  computer	
  and	
  the	
  transporPng	
  network.”	
  — RFC	
  1594で
の”datagram”定義	
  
	
  
•  Fire	
  and	
  Forget	
  
結果までは確認しなくてもよい,という考え方(米国の巡航ミサイルの性能がよく,発射さえし
てしまえば,後は自動的に標的に当たることから)	
  
	
  
•  様相論理	
  (Modal	
  Logic)	
  の適用	
  モデル検査のように,充足関係を形式論理で判断	
  
	
   M	
  =	
  (S,	
  (S0,)	
  R,	
  V)	
  	
  [Kripke構造]	
  
	
   	
  S	
  –	
  可能世界で取りうる状態,	
  	
  R	
  −	
  到達可能関係(計算過程,状態遷移など),	
  	
  V	
  –	
  真偽	
  
9© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
POSA本(Pa#ern	
  Oriented	
  Soqware	
  Architecture	
  –	
  分散コンピュー
ティング編) における	
  State,	
  Modal	
  Behavior	
  に関する言及	
  
•  Minimizing	
  condiPonals	
  
  条件は最小化する	
  
•  Inter-­‐mode	
  dependencies	
  
  モード(状態)間の依存関係を明確にする	
  
	
  
•  Mode	
  visibility	
  
  モード(状態)を可視化する	
  
10© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
ステート性に関するパターン	
  
(From	
  a	
  pa#ern	
  language	
  for	
  distributed	
  compuPng)	
  
1.	
  Objects	
  for	
  States(ステートのためのオブジェクト)	
  
	
  
•  オブジェクトのふるまいは,モードが現在のステートに依存する,という意味
でmodalである.しかし,オブジェクトの実装の中で,対応する複数部分の
条件コードをhard-­‐wireしてしまうのはよくない	
  
	
  
  ↓	
  
	
  
•  オブジェクトのステートに依存するふるまいは,異なるmodal	
  stateの階層に
隠蔽すべき	
  
11© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
ステート性に関するパターン	
  
(From	
  a	
  pa#ern	
  language	
  for	
  distributed	
  compuPng)	
  
2.	
  Methods	
  for	
  States(ステートのためのメソッド)	
  
	
  
•  オブジェクトのふるまいは,モードが現在のステートに依存する,という意味
でmodalである.しかし,オブジェクトの実装の中で,対応する複数部分の
条件コードをhard-­‐wireしてしまうのはよくない.さらに,そのふるまいをオブ
ジェクトの一つのコミュニティに委譲してしまうのは,異なるモード間の調整
やデータ共有を複雑にする.	
  
	
  
  ↓	
  
•  オブジェクトのステートに依存するふるまいは,内部メソッドとして実装し,あ
る特定のステートのふるまいを表すメソッドを参照するために構造体を使用
する	
  
12© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
ステート性に関するパターン	
  
(From	
  a	
  pa#ern	
  language	
  for	
  distributed	
  compuPng)	
  
3.	
  CollecPons	
  for	
  States(ステートのコレクション)	
  
	
  
•  そのふるまいが現在のステートに依存するオブジェクトは,個別のステート
マシンとしてモデル化される.しかし,クライアント特有のステートモデルか
ら独立であるにもかかわらず,クライアントはそれらのオブジェクトをmodal
と認識する.	
  
	
  
  ↓	
  
	
  
•  クライアント内では,そのステートにある全てのオブジェクトを参照する別の
コレクションによってステートを表現すべき,	
  

More Related Content

What's hot

2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話Daisuke Ikeda
 
20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)
20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)
20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)Daisuke Nishino
 
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門ryoheiseki1
 
Spring 12年の歴史
Spring 12年の歴史Spring 12年の歴史
Spring 12年の歴史movmov
 
5分で分かるサイボウズのSRE
5分で分かるサイボウズのSRE5分で分かるサイボウズのSRE
5分で分かるサイボウズのSREuchan_nos
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるMichitaka Terada
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化Taiji Tsuchiya
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介OSSラボ株式会社
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)Takafumi ONAKA
 
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~Daisuke Ikeda
 
Rancher による社内向けテナントサービス基盤
Rancher による社内向けテナントサービス基盤Rancher による社内向けテナントサービス基盤
Rancher による社内向けテナントサービス基盤Keita Shimada
 
IoT Cyber Security Counter Measurement
IoT Cyber Security Counter MeasurementIoT Cyber Security Counter Measurement
IoT Cyber Security Counter MeasurementKiyoshi Ogawa
 
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...Insight Technology, Inc.
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1Keisuke Imai
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しいTakafumi ONAKA
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎Masahiro NAKAYAMA
 
インタフェースのこころ
インタフェースのこころインタフェースのこころ
インタフェースのこころKoichi ITO
 

What's hot (20)

2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
2019/4/18 Zabbix勉強会 徹底活用本の改訂の話
 
20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)
20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)
20171227_JJUG_LT会資料_西野大介(@nishino_chekhov)
 
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
20201107 jjug ccc Spring Boot ユーザーのための Quarkus 入門
 
Spring 12年の歴史
Spring 12年の歴史Spring 12年の歴史
Spring 12年の歴史
 
5分で分かるサイボウズのSRE
5分で分かるサイボウズのSRE5分で分かるサイボウズのSRE
5分で分かるサイボウズのSRE
 
Rancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げるRancherを活用して開発効率を上げる
Rancherを活用して開発効率を上げる
 
明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化明日からはじめるネットワーク運用自動化
明日からはじめるネットワーク運用自動化
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)
 
Spring I/O 2015 報告
Spring I/O 2015 報告Spring I/O 2015 報告
Spring I/O 2015 報告
 
Cndt2021 casareal
Cndt2021 casarealCndt2021 casareal
Cndt2021 casareal
 
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
 
Rancher による社内向けテナントサービス基盤
Rancher による社内向けテナントサービス基盤Rancher による社内向けテナントサービス基盤
Rancher による社内向けテナントサービス基盤
 
IoT Cyber Security Counter Measurement
IoT Cyber Security Counter MeasurementIoT Cyber Security Counter Measurement
IoT Cyber Security Counter Measurement
 
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
[db tech showcase Tokyo 2016] C21: JR東日本で利用されたIoTによるBIインテグレーション by 株式会社インサイトテ...
 
Zabbix概論2018
Zabbix概論2018Zabbix概論2018
Zabbix概論2018
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎
 
インタフェースのこころ
インタフェースのこころインタフェースのこころ
インタフェースのこころ
 

Viewers also liked

Jcsug21 20140912
Jcsug21 20140912Jcsug21 20140912
Jcsug21 20140912hirokihojo
 
Mk state in-programming-01
Mk state in-programming-01Mk state in-programming-01
Mk state in-programming-01Miya Kohno
 
FlexPod Day 2016 - Cisco session (Publish edition)
FlexPod Day 2016 - Cisco session (Publish edition)FlexPod Day 2016 - Cisco session (Publish edition)
FlexPod Day 2016 - Cisco session (Publish edition)Takao Setaka
 
OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)Motonori Shindo
 
試してわかるSDN
試してわかるSDN試してわかるSDN
試してわかるSDNcloretsblack
 
Node最新トピックス
Node最新トピックスNode最新トピックス
Node最新トピックスshigeki_ohtsu
 
OpenStack Congress and Datalog (Japanese)
OpenStack Congress and Datalog (Japanese)OpenStack Congress and Datalog (Japanese)
OpenStack Congress and Datalog (Japanese)Motonori Shindo
 
10分で作るクラスライブラリ
10分で作るクラスライブラリ10分で作るクラスライブラリ
10分で作るクラスライブラリ_norin_
 
どっかのしたのほう
どっかのしたのほうどっかのしたのほう
どっかのしたのほう_norin_
 
Npstudy#7 クラウドインフラのネットワーク自動描画
Npstudy#7 クラウドインフラのネットワーク自動描画Npstudy#7 クラウドインフラのネットワーク自動描画
Npstudy#7 クラウドインフラのネットワーク自動描画hirokihojo
 
マルチCDNの概要
マルチCDNの概要マルチCDNの概要
マルチCDNの概要J-Stream Inc.
 
IoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークIoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークTomoya Hibi
 
最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみたzaki4649
 
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...シスコシステムズ合同会社
 

Viewers also liked (20)

Korejanai Story
Korejanai StoryKorejanai Story
Korejanai Story
 
Jcsug21 20140912
Jcsug21 20140912Jcsug21 20140912
Jcsug21 20140912
 
Mk state in-programming-01
Mk state in-programming-01Mk state in-programming-01
Mk state in-programming-01
 
FlexPod Day 2016 - Cisco session (Publish edition)
FlexPod Day 2016 - Cisco session (Publish edition)FlexPod Day 2016 - Cisco session (Publish edition)
FlexPod Day 2016 - Cisco session (Publish edition)
 
Contiv 20160914
Contiv 20160914Contiv 20160914
Contiv 20160914
 
OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)OpenStack Congress and Datalog (English)
OpenStack Congress and Datalog (English)
 
試してわかるSDN
試してわかるSDN試してわかるSDN
試してわかるSDN
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
Node最新トピックス
Node最新トピックスNode最新トピックス
Node最新トピックス
 
Loom openflow controller in 10 min
Loom openflow controller in 10 minLoom openflow controller in 10 min
Loom openflow controller in 10 min
 
OpenStack Congress and Datalog (Japanese)
OpenStack Congress and Datalog (Japanese)OpenStack Congress and Datalog (Japanese)
OpenStack Congress and Datalog (Japanese)
 
Router chat for np
Router chat for npRouter chat for np
Router chat for np
 
10分で作るクラスライブラリ
10分で作るクラスライブラリ10分で作るクラスライブラリ
10分で作るクラスライブラリ
 
npstudy 161129
npstudy 161129npstudy 161129
npstudy 161129
 
どっかのしたのほう
どっかのしたのほうどっかのしたのほう
どっかのしたのほう
 
Npstudy#7 クラウドインフラのネットワーク自動描画
Npstudy#7 クラウドインフラのネットワーク自動描画Npstudy#7 クラウドインフラのネットワーク自動描画
Npstudy#7 クラウドインフラのネットワーク自動描画
 
マルチCDNの概要
マルチCDNの概要マルチCDNの概要
マルチCDNの概要
 
IoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークIoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトーク
 
最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた最近のBurp Suiteについて調べてみた
最近のBurp Suiteについて調べてみた
 
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...
【Interop Tokyo 2016】 Seminar - EA-18 : 「Cisco の先進セキュリティ ソリューション」 Shownet 2016...
 

Similar to Janog37 Pattern BoF

IVS CTO Night & Day 2016 Tech Talk - AI
IVS CTO Night & Day 2016 Tech Talk - AIIVS CTO Night & Day 2016 Tech Talk - AI
IVS CTO Night & Day 2016 Tech Talk - AIToshiaki Enami
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012Yukio Saito
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03Miya Kohno
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態npsg
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityMiya Kohno
 
Klab expert camp 成果発表
Klab expert camp 成果発表Klab expert camp 成果発表
Klab expert camp 成果発表teruyaono1
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」Shuji Morisaki
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズムTakuya Akiba
 
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤Sotaro Kimura
 
Spring知っておきたい
Spring知っておきたいSpring知っておきたい
Spring知っておきたいYuichi Hasegawa
 
Deep learning勉強会20121214ochi
Deep learning勉強会20121214ochiDeep learning勉強会20121214ochi
Deep learning勉強会20121214ochiOhsawa Goodfellow
 
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...cvpaper. challenge
 
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes CODE BLUE
 

Similar to Janog37 Pattern BoF (20)

IVS CTO Night & Day 2016 Tech Talk - AI
IVS CTO Night & Day 2016 Tech Talk - AIIVS CTO Night & Day 2016 Tech Talk - AI
IVS CTO Night & Day 2016 Tech Talk - AI
 
45分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 201245分で理解する ドッコムマスタートリプルスター受験対策 2012
45分で理解する ドッコムマスタートリプルスター受験対策 2012
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
 
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pubScrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
 
Network Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionalityNetwork Programmability and the statefulness/transactionality
Network Programmability and the statefulness/transactionality
 
Klab expert camp 成果発表
Klab expert camp 成果発表Klab expert camp 成果発表
Klab expert camp 成果発表
 
Hadoop
HadoopHadoop
Hadoop
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 
SoCC12報告
SoCC12報告SoCC12報告
SoCC12報告
 
超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
 
利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤利用者主体で行う分析のための分析基盤
利用者主体で行う分析のための分析基盤
 
Dbts 分散olt pv2
Dbts 分散olt pv2Dbts 分散olt pv2
Dbts 分散olt pv2
 
JAWS DAYS 2022
JAWS DAYS 2022JAWS DAYS 2022
JAWS DAYS 2022
 
Spring知っておきたい
Spring知っておきたいSpring知っておきたい
Spring知っておきたい
 
Deep learning勉強会20121214ochi
Deep learning勉強会20121214ochiDeep learning勉強会20121214ochi
Deep learning勉強会20121214ochi
 
Mplus tutorial
Mplus tutorialMplus tutorial
Mplus tutorial
 
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
これからのコンピュータビジョン技術 - cvpaper.challenge in PRMU Grand Challenge 2016 (PRMU研究会 2...
 
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes [CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
[CB17] Trueseeing: Effective Dataflow Analysis over Dalvik Opcodes
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

Janog37 Pattern BoF

  • 1. Pa#ern  Oriented  Network  Architecture January  2016   Miya  Kohno  (mkohno@cisco.com)  
  • 2. 2© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Pa#ern  –  おさらい   •  森羅万象津々浦々,多くのものにパターンが存在する   •  「パターン」は,「モデル」,「構造」と捉えて良いかもしれないが,そこまで厳密で なくてもよい.また,ボトムアップ的である.言い伝え(saying)やことわざ(proverb) のようなものもパターンであると言える.   •  パターンを編み出す基本    ref.    Alexander   -­‐        A  Problem  (in  a  Context)   (ある状況における)問題を認識する   -­‐  Forces  :  The  heart  of  every  pa#ern   その問題の背後にあるものは何か,問題を特徴づけているものは何か   -­‐  SoluPons  and  Consequences   どうしたらよいか,そしてその結果何が期待できるか
  • 3. 3© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Pa#ern  –  モデル化のためのアプローチ   論理に基づくアプローチ(演繹的) 事象に基づくアプローチ(経験的)
  • 4. 4© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Pa#ern  Oriented  Network  Architecture   Pa#ern  Oriented  Network  Architectureをつくっているもの     •  日々のdevelopment  &  operaPons   •  NOGの活動   •  IETF -­‐    dejurが支配的な標準化団体とは異なり defacto志向  Rough  consensus  and  running  code  /  No  vote,  No  kings   •  Open  Source活動  
  • 5. 5© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Pa#ern  for  Microservices!   Pa#ern  for  Microservices   h#p://microservices.io/pa#erns/microservices.html   h#ps://uramoto.wordpress.com/2015/09/21/マイクロサービスのデザインパターン/     Microserviceとは   h#p://marPnfowler.com/arPcles/microservices.html     一つのアプリケーションを小さいサービスの集合として開発する手法.それぞれのサービスは個別の プロセスとして動作し,HTTP  resource  APIなど,軽めの手法でコミュニケーションする.それぞれは異な るプログラム言語で書かれたり,異なるdata  storage技術を使うこともあり,最低限の集中管理により 管理される.  
  • 6. 6© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential Networkのステートの問題に取り組んでみたい   h#p://www.mpls.jp/presentaPons/MK_state-­‐in-­‐programming_01.pdf     •  Web  ApplicaPonは,Stateを最小化することにより,AvailabilityとScalabilityを 獲得した   •  Internetはもともと,Stateless  (circuitに対してdatagram)  ,Eventually   Consistent  (ルーティングコンバージェンスは非同期)  だったが,機能追加の ために,これまで専らステートを増やす方向で進化してきた      e.g.  PPP/L2TP,  MPLS  TE,  3GPP  mobility,  CG-­‐NAT,  HTTP  proxy,  NSR/NSF/ISSU..  
  • 7. 7© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential ステートをなぜ最小化したいか   •  スケーリングのボトルネックになる   •  過負荷時に耐えられない à  二次障害懸念     •  Single  Point  of  Failureになる   •  ステートを失うとセッション断などにつながる   •  Chaos  Monkey(*)を適用できない!   •  冗長を実現するためには,データの複製だけでなく ステートの同期が必要         à さらなるスケーリングボトルネック懸念   (*)  頑健性を上げるため,故意に障害を起こすツール.Nedlixが開発し,オープンソース化した.AWS上のアプリケーションに適用.   h#p://techcrunch.com/2012/07/30/nedlix-­‐open-­‐sources-­‐chaos-­‐monkey-­‐a-­‐tool-­‐designed-­‐to-­‐cause-­‐failure-­‐so-­‐you-­‐can-­‐make-­‐a-­‐stronger-­‐cloud/  
  • 8. 8© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential ネットワークのステートを縮減するために    (ただし,適用して問題がないかどうかについては熟考が必要!!)   •  データグラムとステートレスマッピング   “A  self-­‐contained,  independent  enPty  of  data  carrying  sufficient  informaPon  to  be  routed   from  the  source  to  the  desPnaPon  computer  without  reliance  on  earlier  exchanges  between   this  source  and  desPnaPon  computer  and  the  transporPng  network.”  — RFC  1594で の”datagram”定義     •  Fire  and  Forget   結果までは確認しなくてもよい,という考え方(米国の巡航ミサイルの性能がよく,発射さえし てしまえば,後は自動的に標的に当たることから)     •  様相論理  (Modal  Logic)  の適用   モデル検査のように,充足関係を形式論理で判断     M  =  (S,  (S0,)  R,  V)    [Kripke構造]      S  –  可能世界で取りうる状態,    R  −  到達可能関係(計算過程,状態遷移など),    V  –  真偽  
  • 9. 9© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential POSA本(Pa#ern  Oriented  Soqware  Architecture  –  分散コンピュー ティング編) における  State,  Modal  Behavior  に関する言及   •  Minimizing  condiPonals     条件は最小化する   •  Inter-­‐mode  dependencies     モード(状態)間の依存関係を明確にする     •  Mode  visibility     モード(状態)を可視化する  
  • 10. 10© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential ステート性に関するパターン   (From  a  pa#ern  language  for  distributed  compuPng)   1.  Objects  for  States(ステートのためのオブジェクト)     •  オブジェクトのふるまいは,モードが現在のステートに依存する,という意味 でmodalである.しかし,オブジェクトの実装の中で,対応する複数部分の 条件コードをhard-­‐wireしてしまうのはよくない       ↓     •  オブジェクトのステートに依存するふるまいは,異なるmodal  stateの階層に 隠蔽すべき  
  • 11. 11© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential ステート性に関するパターン   (From  a  pa#ern  language  for  distributed  compuPng)   2.  Methods  for  States(ステートのためのメソッド)     •  オブジェクトのふるまいは,モードが現在のステートに依存する,という意味 でmodalである.しかし,オブジェクトの実装の中で,対応する複数部分の 条件コードをhard-­‐wireしてしまうのはよくない.さらに,そのふるまいをオブ ジェクトの一つのコミュニティに委譲してしまうのは,異なるモード間の調整 やデータ共有を複雑にする.       ↓   •  オブジェクトのステートに依存するふるまいは,内部メソッドとして実装し,あ る特定のステートのふるまいを表すメソッドを参照するために構造体を使用 する  
  • 12. 12© 2014 Cisco and/or its affiliates. All rights reserved. Cisco Confidential ステート性に関するパターン   (From  a  pa#ern  language  for  distributed  compuPng)   3.  CollecPons  for  States(ステートのコレクション)     •  そのふるまいが現在のステートに依存するオブジェクトは,個別のステート マシンとしてモデル化される.しかし,クライアント特有のステートモデルか ら独立であるにもかかわらず,クライアントはそれらのオブジェクトをmodal と認識する.       ↓     •  クライアント内では,そのステートにある全てのオブジェクトを参照する別の コレクションによってステートを表現すべき,