Upload
shin-matsumoto
View
144
Download
1
Embed Size (px)
Citation preview
クラウド運用のためのストリームマイニング
神戸大学 柗本 真佑
2014/01/23WinterWorkshop2014@大洗
柗本 真佑
themesソフトウェア工学データマイニングSOAクラウド
interested in○ 設計・開発・テスト△ 要求・運用・保守
2
概要
•データという観点からクラウド運用を考える
•思考・調査のあしあと
•まとまりなし,結論なし
•議論の種・思考の種に
3
クラウドとWeb API
•システムの機能をAPIとして公開• Web経由で
• プラットフォームに依らず
• ソフトウェアから (自動的に)
• 単純な手続きで,利用できる
IaaSAPI
PaaS/SaaSAPI
・launchVM()・attachVolume()
・tweet()・listTweets()
4
運用・保守のためのWeb API
•システムの機能( ・ ・ )をAPIとして公開• Web経由で
• プラットフォームに依らず
• ソフトウェアから (自動的に)
• 単純な手続きで,利用できる
IaaS
PaaS/SaaS
Measuring API
Management API
Functional API
Measuring API
Management API
Functional API
本質 計測 運用
5
何を計測するか?
• IaaS• # of running VMs
• CPU usage
• Disk usage
• Memory swap rate
• I/O latency
• PaaS/SaaS• # of registered users
• # of active users
• # of transactions
(# of tweets, # of photos, …)
• Common• # of API calls
• Avg/Max response time
• # of timed out requests
Measuring API
Management API
Functional API
6
何を計測するか?
• IaaS• # of running VMs
• CPU usage
• Disk usage
• Memory swap rate
• I/O latency
• PaaS/SaaS• # of registered users
• # of active users
• # of transactions
(# of tweets, # of photos, …)
• Common• # of API calls
• Avg/Max response time
• # of timed out requests
Measuring API
Management API
Functional API
何を計測するか?何のために計測するか?
7
リク
エス
ト数
時間
何のために計測するか?
• What• 現状分析,異常検出,障害究明,アクセス集中・・・
• How• 基本的な統計分析,見える化,外れ値検出・・・
レス
ポン
ス時
間
リクエスト
Future
Past
Present
8
何のために計測するか?
• What• 予測保守,障害予測,デマンド予測,API先読み実行・・・
• How• パターン検出,機械学習,共起関係分析,予測・・・
リク
エス
ト数
月 火 水 木 金 土 日
API X
others
API Y
Future
Past
Present
9
何のために計測するか?
•米Amazonの“Anticipatory shipping”
http://blogs.wsj.com/digits/2014/01/17/amazon-wants-to-ship-your-package-before-you-buy-it/
Future
Past
Present
Personalized
10
何のために計測するか?
•米Amazonの“Anticipatory shipping”
http://blogs.wsj.com/digits/2014/01/17/amazon-wants-to-ship-your-package-before-you-buy-it/
Future
Past
Present
Personalized
ユーザレベルでのきめ細やかな運用・保守
Personalized O&M
11
何のために計測するか?
•米Amazonの“Anticipatory shipping”
http://blogs.wsj.com/digits/2014/01/17/amazon-wants-to-ship-your-package-before-you-buy-it/
Future
Past
Present
Personalized
ユーザレベルでのきめ細やかな運用・保守
Personalized O&M
計測データをどう役立てるか?可視化より強力な方法は?
12
計測データ活用のためには?
•
高度な運用・保守,品質改善
•技術的にどうやって? How?
要件1: 大量のデータを
要件2: リアルタイムに
詳細な計測
運用・保守への適用
要件3: 高度なデータマイニング
時系列データ
詳細な計測 高度なデータマイニング
MapReduce
13
ストリームマイニング (SM)
•データストリームをマイニングする手法・アルゴリズム• データストリーム: 時間的に変化しながら終わりなく到着するデータ
(取引履歴,通信ログ,ニュース,・・・)
store
mine
mine
knowledge
knowledge
通常のデータマイニング ストリームマイニングdata
streams
t
14
ストリームマイニング概要
•膨大なデータストリームに対し,• 利用者の要求に即応して,
• 小さな計算機資源で,
• 近似解を返す,手法・アルゴリズムのこと*
•特定の手法を指す言葉ではない• One-path制約付きのデータマイニング手段の総称
• (基本的には) 厳密な解を求めない• 粗視化・データ要約・確率計算など
• マイニング目的に応じて興味のない部分を捨てる
※ 最近では厳密解を求められる方法も登場しつつある
*有村 博紀, 喜田 拓也, “データストリームのためのマイニング技術”, 情報処理, 2005, vol.46, no.1
15
SMで何ができるか?
•基本的な統計量• 集計,平均,分散
•クラスタリング
•機械学習
• トレンド分析
•一般的なデータマイニングと同等
16
SMの実現手段は?
• Apache S4 (Simple Scalable Streaming System)
•処理の流れ• twitterのハッシュカウント
S4 is a general-purpose, distributed, scalable, fault-tolerant, pluggable platform that allows programmers to easily develop applications for processing continuous unbounded streams of data.
PE
PE
PE http://oss.infoscience.co.jp/s4/docs.s4.io/examples/twitter_topic_counter.html
http://incubator.apache.org/s4/
key: topic=“s4”val: count=1
key: nullval: “#s4, a distributed #stream processing”
key: topic=“stream”val: count=1
PE
val: topic=“s4”, count=4 PE: Processing Element
17
• Storm
• Storm + Hadoop• Lambda architecture*
Speed layer (Storm)
Batch layer (Hadoop)
他にも色々
Storm is a free and open source distributed realtime computation system.
New data stream
query
*Big Data: Principles and best practices of scalable realtime data systems, Manning Publications Co, 2012
http://storm-project.net/
Streamprocessing
All dataPrecompute
views
Batch view
Batch view
Realtime view
18
運用・保守へどう適用するか?
• S4, Storm = 汎用リアルタイム処理フレームワーク• 「リアルタイムMapReduce」 「ストリーミングMapReduce」
•運用・保守に特化させたクラウドシステムへ• PaaS型,Cloud Ops. as a Service
Wikipedia, Image:060428-bagger288-garzweiler.jpg; Bearbeitung von Snorky
19
運用・保守へどう適用するか?
• S4, Storm = 汎用リアルタイム処理フレームワーク• 「リアルタイムMapReduce」 「ストリーミングMapReduce」
•運用・保守に特化させたクラウドシステムへ• PaaS型,Cloud Ops. as a Service
発掘技術 (How) は豊富何をするか (What) が重要
Wikipedia, Image:060428-bagger288-garzweiler.jpg; Bearbeitung von Snorky
20
「捨てる技術」*
•データは際限なく増える• googleは10,20年後どうなるか?
• 供給電力の問題も
•捨てる技術• 20年~30年使われなかったデータが本当に必要か?
• 必要なデータだけを残す技術が必要になるのでは?• 実例は捨てる.パラメタだけを残す.
*長尾 真, “捨てる技術”, 情報処理, 2014, vol.55, no.1
レス
ポン
ス時
間
リクエストレ
スポ
ンス
時間
リクエスト
ストレージ
生産速度情報
生産速度
21
「捨てる技術」*
•データは際限なく増える• googleは10,20年後どうなるか?
• 供給電力の問題も
•捨てる技術• 20年~30年使われなかったデータが本当に必要か?
• 必要なデータだけを残す技術が必要になるのでは?• 実例は捨てる.パラメタだけを残す.
*長尾 真, “捨てる技術”, 情報処理, 2014, vol.55, no.1
レス
ポン
ス時
間
リクエストレ
スポ
ンス
時間
リクエスト
「必要なデータ」とは?ゴミ山か? 金鉱か?本当に捨てて良いのか?
ストレージ
生産速度情報
生産速度
22
22
何のために計測するか?
•米Amazonの“Anticipatory shipping”
http://blogs.wsj.com/digits/2014/01/17/amazon-wants-to-ship-your-package-before-you-buy-it/
Future
Past
Present
Personalized
ユーザレベルでのきめ細やかな運用・保守
Personalized O&M
計測データをどう役立てるか?可視化より強力な方法は?
42
「捨てる技術」*
•データは際限なく増える• googleは10,20年後どうなるか?
• 供給電力の問題も
•捨てる技術• 20年~30年使われなかったデータが本当に必要か?
• 必要なデータだけを残す技術が必要になるのでは?• 実例は捨てる.パラメタだけを残す.
*長尾 真, “捨てる技術”, 情報処理, 2014, vol.55, no.1
レス
ポン
ス時
間
リクエスト
レス
ポン
ス時
間
リクエスト
「必要なデータ」とは?ゴミ山か? 金鉱か?本当に捨てて良いのか?
ストレージ
生産速度情報
生産速度
38
運用・保守へどう適用するか?
• S4, Storm = 汎用リアルタイム処理フレームワーク• 「リアルタイムMapReduce」 「ストリーミングMapReduce」
•運用・保守に特化させたクラウドシステムへ• PaaS型,Cloud Ops. as a Service
発掘技術 (How) は豊富何をするか (What) が重要
Wikipedia, Image:060428-bagger288-garzweiler.jpg; Bearbeitung von Snorky
12
何を計測するか?
• IaaS• # of running VMs
• CPU usage
• Disk usage
• Memory swap rate
• I/O latency
• PaaS/SaaS• # of registered users
• # of active users
• # of transactions
(# of tweets, # of photos, …)
• Common• # of API calls
• Avg/Max response time
• # of timed out requests
Measuring API
Management API
Functional API
何を計測するか?何のために計測するか?