分散KVSをサービス化してみた分散 サ 化 てみた「Okuyama (KVS) も、 Fusion-IO (ioDrive) も、あるんだよ」
~分散KVS技術を利用したサービス事例~株式会社リンク 前佛雅人 (@zembutsu)スクエアfreeセミナー第9回 Jul 28, 2011
AgendaAgenda
プ• I. ソーシャルアプリとインフラ
• II 分散KVSのサービス化II. 分散KVSのサ ビス化
– なぜサービス化する必要が?
li kアプリプラ トフ ム– at+linkアプリプラットフォーム
– Okuyama & ioDrive
– プロジェクトの方向性
• III 管理画面• III. 管理画面
• Q&A, Discussion
About meAbout me
前佛雅• @zembutsu 前佛雅人– 株式会社リンク
デ ベ パ サポ ト部 シ ア ンジ アディベロッパーサポート部 シニアエンジニアat+link専用サーバサービスの運用サポートhttp://www.at‐link.ad.jp/アプリプラットフォーム
– 活動:クラウド界隈に出没• Open Cloud Campus, JEUG(Eucalyptus ユーザ会)
• JAWS‐UG、OpenStackユーザ会、CloudStackユーザ会
About meAbout me
執筆• 執筆:• G‐CLOUD Magazine G‐CLOUD Magazine 2011 Summer
2010年8月6日発売 2011年6月29日発売
1章~3章 AWS入門記事 5章 RightScale
ソーシャルアプリとインフラ環境
I. APPLICATION FOR SNSソ シャルアプリとインフラ環境
SNSSNS
• Social Networking Service
SNS membershipSNS membership3000
2500
3000
2000
:万
人)
i i
1000
1500
人数(単
位 mixi
mobage
GREE
500
0
ソーシャルアプリソーシャルアプリ
連携 提供される ビ• SNS と連携して提供されるサービス
– SNSの会員情報と、外部のサービスを連携会員情報 、外部 サ を連携
– SNS プラットフォームがオープン化の流れ (2010)
会員数2 000万人以上• 会員数2,000万人以上
– ソーシャルグラフ・口コミによる利用者増加
ソーシャルアプリ向けサーバ構成ソーシャルアプリ向けサーバ構成
般的なウ ブ ビ 違う点• 一般的なウェブサービスとは違う点
– システムの規模が見積もりにくいシ テ 規模 見積もり く
– 状況に応じて、サーバリソースの増減が必要
SNS独特の課題が発生• SNS独特の課題が発生
考慮すべき点考慮すべき点
SNS PLATFORM
User APIprofile
ソーシャルアプリサービス用サーバ
API
情報
• 5秒ルール/ジョイン停止
サービス用サーバ
5秒ル ル/ジョイン停止
• キャッシュサーバの利用による高速応答
分散KVSのサービス化
II. APPLI‐PLATFORM WITH KVS分散KVSのサ ビス化
ソーシャルアプリの課題ソーシャルアプリの課題
高速なウ ブ応答の必要性• 高速なウェブ応答の必要性– SNS認証情報のキャッシュ
– 負荷分散• ウェブサーバの負荷分散
• キャッシュサーバの分散
• データベースのsharding
– ディスク I/O の最適化
• オンデマンドな利用形態オンデ ンドな利用形態– 必要な時に必要なだけ(クラウド的な…)
従来のホスティング従来のホスティング
バ追加が大変• サーバ追加が大変
– 納期確認・調整納期確認 調整
• サーバを減らすのも大変
初期 ト• 初期コスト
• これらの問題を解決する新しい枠組み「 t li kアプリプラ トフォ ム 」「 at+linkアプリプラットフォーム 」2010年11月スタート
Our SolutionOur Solution
サ バをオンデマンドで利用可能に• サーバをオンデマンドで利用可能に– 初期費用無償
ダ– 管理画面でオーダー・90分後に設置
• ディスク I/O 問題を高速デバイスで解決– Fusion‐IO社の ioDrive– 通常のサーバの約 3~4 倍の性能
• キャッシュサーバをオンデマンドで提供– 分散 KVSの Okuyama分散 KVS の Okuyama– 神戸デジタルラボの岩瀬氏(@okuyamaoo)開発
• オープンソース
at+linkアプリプラットフォームat+linkアプリプラットフォーム
ビ 提供 枠組• サービス提供の枠組み
Application Platform Okuyama
Request
KVS
UserOn demand
Fusion-IO ioDrive
featurefeature
初期費用 円• 初期費用0円– トラフィック・データ転送量課金無し(1Gbps共用)– ロードバランサ・ファイアウォール標準
• ioDrive(Fusion‐IO)が利用可能ioDrive(Fusion IO)が利用可能
• サーバ追加90分以内
KVS( k )• KVS(okuyama)• HTTP 応答時間監視
• Muninによるリソース監視
FusionIO Disk I/OFusionIO Disk I/O
S ti l d• Sequential read– ioDriveが圧倒的に速い約500MB/sec
• SASの 3~ 4倍• SAS の 3 ~ 4 倍• SSD の 2 倍
• Sequential writeSequential write– SAS RAID と同程度の書き込み性能
• Random read/writeRandom read/write– 並行処理が増えても、スループットが安定
• MySQLMySQL– トランザクション・同時接続数が増えても、安定したスループット
ioDrive Sequential ReadioDrive ‐ Sequential Readread 平均 [MB/sec]
600.00
400.00
500.00
300.00
100.00
200.00
0.00
IDE (5,400rpm) SATA (7,200rpm) SAS (15,000rpm) SAS RAID1(15,000rpm)
SSD (X25‐E Extreme SATA SSD)
ioDrive
– hdparm –t <device> で測定、30回平均
( , p ) )
ioDrive Sequential writeioDrive ‐ Sequential write1400
write [MB/sec]
1200
800
1000
IDE (5 400rpm)
600
800 IDE (5,400rpm)
SATA (7,200rpm)
SAS (15,000rpm)
SAS RAID1
400
ioDrive
0
200
4k 16k 64k 256k 1024k 4096k 16384k 65536k
• “dd” でファイル作成 時間を計測4k 16k 64k 256k 1024k 4096k 16384k 65536k
ioDrive Randam read/writeioDrive ‐ Randam read/writedbench (NFS) througput
1200
1400
1000
600
800
MB/Sec SSD
ioDrive
SAS(RAID1)
SA A
400
SATA
0
200
• dbench (http://dbench.samba.org/) 1 16 32 64 128
ioDrive Sysbench OLTP(MySQL)ioDrive ‐ Sysbench OLTP(MySQL)
• Sysbench Transaction12000000
10000000
12000000
6000000
8000000
other
4000000
6000000write
read
threads
2000000
0
Okuyama on at+linkOkuyama on at+link
分散 プ• 分散 KVS okuyamaはオープンソース
• ソーシャルアプリ向けにカスタマイズソ シャルアプリ向けにカスタマイズ
– サービスの継続性を重視
冗長化 ( S)– 冗長化 (LVS)
– 内部でのデータ保全性
• 専用サーバでありながら、PaaS的なサービス
利用者のインフラ管理負担を軽減– 利用者のインフラ管理負担を軽減
分散 KVSサービス化の利点分散 KVS サービス化の利点
d d• On demand use• Memcached protocol compatiblep p• Free ( until 1GB )• Maintenace free←とても重要• Maintenace free ← とても重要
– ユーザサイドによる冗長化のため サ ビスが停止しない• LVS による冗長化のため、サービスが停止しない
– 提供者サイドドが故障し も デ タ保全• ノードが故障しても、データ保全
• ノードメンテナンスが無停止で可能
Okuyama’s technologyOkuyama s technology
http://www.kdl.co.jp/service/okuyama/
PricingPricing
キ バ機能• キャッシュサーバ機能
TeamTeam
体制• 体制
Application PlatformOkOkuyama
Projection and milestonesProjection and milestones
• Cache Server << RELEASED– memcached compatiblep
• Image cache server << 2011S CDN ( h )– Same as CDN ( http )
• Log Storage << 2011g g– Permanentaly log storage server
• Additional function (?)• Additional function (?)– Log Analytics ( on the table )
Status and timelineStatus and timeline
プ プ 分散• アプリプラットフォーム&分散KVS
2010.11 2011.03 2011.08 10 ?
2010 20122011
Analytics( Hadoop relation? )
Service Released Log Storage (KVS)( Hadoop relation? )
Okuyama Cache Function (KVS)
Image Cache (KVS)
サービスのまとめサービスのまとめ
プ プ• at+linkアプリプラットフォーム
– ソーシャルアプリ特化型インフラ基盤ソ シャルア リ特化型イン ラ基盤
– 初期費用無償・オンデマンドでサーバ利用
i D i (F i IO)でディスクI/Oの問題を解決• ioDrive(FusionIO)でディスクI/Oの問題を解決
• 分散KVSとしてokuyamaを採用y– memcached互換のキャッシュ機能を提供
画像キャッシュ・ログ保存機能を開発中– 画像キャッシュ・ログ保存機能を開発中
「Fusion‐IOもKVSもあるんだよ」
at+linkアプリプラットフォーム専用コントロールパネル
III. SERVICE CONTROL PANELat linkアプリプラットフォ ム専用コントロ ルパネル
FrontpageFrontpage
Server detailsServer details
Contact formContact form
Server orderServer order
Server orderServer order
KVS(cache) orderKVS(cache) order
質疑応答
Q&A, DISCUSSION質疑応答
Thank you for listening!Thank you for listening!
ご静聴あ が うござ ま た• ご静聴ありがとうございました。
• Contacts– at+link専用サーバ・サービスアプリプラットフォームat+link専用サ バ サ ビスアプリプラットフォ ム
http://www.at‐link.ad.jp/appli_platform/
– 株式会社リンク前佛雅人 (Masahito Zembutsu)T itt @ b t– Twitter: @zembutsu
– E‐mail: [email protected]
– Tel: 03‐5785‐0555