分散分散KVSをサービス化してみたをサ化してみた「 Okuyama (KVS) も、 Fusion-IO (ioDrive) も、あるんだよ 」〜分散KVS技術を利用したサービス事例〜
株式会社リンク 前佛雅人 (@zembutsu)
スクエアfreeセミナー第9回 Jul 28, 2011

Agenda• I. ソーシャルアプリとインフラプ• II.
II 分散KVSのサ
分散KVSのサービス化
ビス化– なぜサービス化する必要が？
– at+link
li k アプリプラットフォーム
アプリプラ トフム
– Okuyama & ioDrive– プロジェクトの方向性• III.
III 管理画面• Q&A, Discussion

About me• @zembutsu 前佛雅人
前佛雅– 株式会社リンク
デ ベ
ディベロッパーサポート部
パ サポ ト部 シニアエンジニア
シ ア ンジ ア
at+link 専用サーバサービスの運用サポート
http://www.at‐link.ad.jp/ アプリプラットフォーム– 活動：クラウド界隈に出没• Open Cloud Campus, JEUG(Eucalyptus ユーザ会)• JAWS‐UG、OpenStack ユーザ会、CloudStackユーザ会

About me• 執筆：執筆• G‐CLOUD Magazine
2010年8月6日 発売
1章～3章 AWS入門記事

G‐CLOUD Magazine 2011 Summer
2011年6月29日 発売
5章 RightScaleソーシャルアプリとインフラ環境
ソシャルアプリとインフラ環境

I. APPLICATION FOR SNS

SNS• Social Networking Service

SNS membership
3000

2500

人数(単位：万人）

2000

1500

mixi
i i
mobage1000

GREE
facebook

500

0ソーシャルアプリ• SNS と連携して提供されるサービス
連携
提供される
ビ
– SNSの会員情報と、外部のサービスを連携
会員情報 、外部 サを連携
– SNS プラットフォームがオープン化の流れ (2010)• 会員数2,000万人以上
会員数2 000万人以上– ソーシャルグラフ・口コミによる利用者増加

ソーシャルアプリ向けサーバ構成• 一般的なウェブサービスとは違う点
般的なウ ブビ違う点– システムの規模が見積もりにくい
シ テ
規模 見積もり く– 状況に応じて、サーバリソースの増減が必要• SNS独特の課題が発生

考慮すべき点
SNS PLATFORM

UserAPIprofile
ソーシャルアプリ
サービス用サーバ情報• 5秒ル
5秒ルール／ジョイン停止
ル／ジョイン停止• キャッシュサーバの利用による高速応答

分散KVSのサービス化
分散KVSのサビス化

II. APPLI‐PLATFORM WITH KVSソーシャルアプリの課題• 高速なウェブ応答の必要性
高速なウ ブ応答の必要性– SNS認証情報のキャッシュ– 負荷分散• ウェブサーバの負荷分散• キャッシュサーバの分散• データベースのsharding– ディスク I/O の最適化

• オンデマンドな利用形態
オンデ ンドな利用形態– 必要な時に必要なだけ（クラウド的な…）

従来のホスティング• サーバ追加が大変
バ追加が大変– 納期確認・調整
納期確認 調整• サーバを減らすのも大変• 初期コスト
初期ト• これらの問題を解決する新しい枠組み「 at+linkt li k アプリプラットフォーム
アプリプラ トフォ ム 」
2010年11月スタート

Our Solution• サーバをオンデマンドで利用可能に
サ バをオンデマンドで利用可能に– 初期費用無償– 管理画面でオーダー・90分後に設置
ダ• ディスク I/O 問題を高速デバイスで解決– Fusion‐IO社の ioDrive– 通常のサーバの約 3～4 倍の性能

• キャッシュサーバをオンデマンドで提供– 分散 KVS の Okuyama– 神戸デジタルラボの岩瀬氏(@okuyamaoo)開発• オープンソース

at+link アプリプラットフォーム• サービス提供の枠組み
ビ 提供 枠組

RequestApplication Platform

Okuyama

KVS
User

On demand

Fusion-IO
ioDrivefeature• 初期費用0円
初期費用 円– トラフィック・データ転送量課金無し(1Gbps共用)– ロードバランサ・ファイアウォール標準• ioDrive(Fusion‐IO)が利用可能
ioDrive(Fusion IO)が利用可能• サーバ追加90分以内• KVS(okuyama)
KVS( k)• HTTP 応答時間監視• Munin によるリソース監視FusionIO Disk I/O• Sequential
Sti l readd– ioDrive が圧倒的に速い 約500MB/sec• SAS の 3 ～ 4 倍• SSD の 2 倍• Sequential write– SAS RAID と同程度の書き込み性能• Random read/write– 並行処理が増えても、スループットが安定• MySQL– トランザクション・同時接続数が増えても、安定したスループット

ioDrive ‐ Sequential Readread 平均 [MB/sec]
600.00500.00400.00300.00200.00100.000.00
IDE (5,400rpm)–

SATA (7,200rpm)

SAS (15,000rpm)

hdparm –t <device> で測定、30回平均SAS( ,p )RAID1(15,000rpm)

SSD (X25‐E ExtremeSATA SSD))

ioDrive

ioDrive ‐ Sequenｔial write
write [MB/sec]
1400

1200

1000

IDE (5(5,400rpm)
400rpm)

800

SATA (7,200rpm)
SAS (15,000rpm)
600

SAS RAID1
ioDrive

400

20004k

•

16k

64k

256k

1024k

“dd” でファイル作成 時間を計測

4096k

16384k65536kioDrive ‐ Randam read/write
dbench (NFS) througput
1400

1200

1000

800
MB/SecSSD
ioDrive
SAS(RAID1)

600

SA A
SATA400

20001•

16dbench (http://dbench.samba.org/)

3264

128

ioDrive ‐ Sysbench OLTP(MySQL)• Sysbench Transaction
12000000

10000000

8000000

6000000

otherwrite
read

4000000

2000000

0threads

Okuyama on at+link• 分散 KVS okuyama はオープンソース
プ• ソーシャルアプリ向けにカスタマイズ
ソ シャルアプリ向けにカスタマイズ– サービスの継続性を重視– 冗長化 (LVS)( S)– 内部でのデータ保全性• 専用サーバでありながら、PaaS 的なサービス– 利用者のインフラ管理負担を軽減

分散 KVS サービス化の利点• On demanddd use• Memcached p
protocol compatiblep• Free ( until 1GB )• Maintenace free ← とても重要– ユーザサイド• LVS による冗長化のため、サービスが停止しないによる冗長化のため サ ビスが停止しない– 提供者サイド• ノードが故障しても、データ保全
ドが故障し も デ タ保全• ノードメンテナンスが無停止で可能Okuyama’ss technology
Okuyama

http://www.kdl.co.jp/service/okuyama/Pricing• キャッシュサーバ機能
キバ機能

Team
• 体制

Application Platform

OkuyamaOk

Projection and milestones• Cache Server << RELEASED– memcached compatiblep• Image cache server << 2011– SameS
as CDN ( hhttp )• Logg Storageg << 2011– Permanentaly log storage server• Additional function (?)– Log Analytics ( on the table )Status and timeline• アプリプラットフォーム＆分散KVSプ プ
分散2010.11

2011.032010
Service Released?

2011.08 10

2011

2012
Log Storage (KVS)

Image Cache (KVS)
Okuyama Cache Function (KVS)

Analytics( Hadoop relation? )サービスのまとめ• at+link アプリプラットフォーム
プ プ– ソーシャルアプリ特化型インフラ基盤
ソ シャルア リ特化型イン ラ基盤– 初期費用無償・オンデマンドでサーバ利用• ioDrive(FusionIO)でディスクI/Oの問題を解決
i D i (F i IO)でディスクI/Oの問題を解決• 分散KVSとしてokuyamaを採用
y– memcached 互換のキャッシュ機能を提供– 画像キャッシュ・ログ保存機能を開発中「Fusion‐IOもKVSもあるんだよ」

at+link
atlink アプリプラットフォ
アプリプラットフォーム専用コントロールパネル
ム専用コントロ ルパネル

III. SERVICE CONTROL PANEL

Frontpage

Server details

Contact form

Server orderServer orderKVS(cache) order質疑応答

Q&A, DISCUSSION

Thank you for listening!
• ご静聴ありがとうございました。
ご静聴あ が うござ ま た• Contacts– at+link 専用サ
専用サーバ・サービス
バ サ ビス アプリプラットフォ
アプリプラットフォーム
ム
http://www.at‐link.ad.jp/appli_platform/– 株式会社リンク 前佛 雅人 (Masahito Zembutsu)– Twitter:
T itt @@zembutsub t– E‐mail: zembutsu@link.co.jp– Tel: 03‐5785‐0555