• Like
デブサミ2013【14-D-6】Yahoo! JAPANの新しいクラウドストレージサービス~Yahoo! JAPANがRiakを選んだ理由とは?~
Upcoming SlideShare
Loading in...5
×

デブサミ2013【14-D-6】Yahoo! JAPANの新しいクラウドストレージサービス~Yahoo! JAPANがRiakを選んだ理由とは?~

  • 2,026 views
Uploaded on

ヤフー株式会社は、KVSで注目されている「Riak」を採用したクラウドストレージサービスを提供しています。 …

ヤフー株式会社は、KVSで注目されている「Riak」を採用したクラウドストレージサービスを提供しています。
本サービスでは、Yahoo! JAPANの圧倒的なITリソース、テクノロジーを低価格で手間なく簡単に利用することができます。
また、スケールメリットを享受いただくことで、トータルでのコスト削減に大きく貢献し、ビジネスの発展を強力にサポートします。
本セッションでは、「Riak」のインストールから構築方法まで、デモを交えて解説します。さらに、「Riak」の最新プロダクトトピックやユーザー事例もご紹介します。

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,026
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
45
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Yahoo! JAPANの新しいクラウドストレージサービス JAPANの JAPANがRiakを んだ理由とは?~ 理由とは ~Yahoo! JAPANがRiakを選んだ理由とは?~ ヤフー株式会社 マーケティングソリューションカンパニー 新規事業本部 阪田 浩隆 2013年2月14日(木)
  • 2. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 1 自己紹介
  • 3. 氏名:阪田 浩隆(さかた ひろたか) 入社年:2004年10月 担当業務実績: - 社内認証システム開発 - ビジネス系認証システム開発 - 社内ツール系開発 - 分散KVS 開発・保守・運用 - オブジェクトストレージ 開発 現在:Riak開発部隊(Yahoo! JAPAN内)2 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 4. • アジェンダ • Yahoo! JAPANを支える技術 • KVS • データレプリケーション • オブジェクトストレージ • Riak概要 • Product一覧 • アーキテクチャ概要 • インストールから起動まで • Riak EDS • Riak CS • 簡易デモ • Yahoo! JAPANの新しいクラウドストレージ • なぜRiakを選んだのか3 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 5. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 417年のKVSの歴史がある 実はYahoo! JAPANには
  • 6. 創業当時(1996年)から、 データを扱うプラットフォームとして 分散KVSを使用している ※当時はまだクライアントサーバーシステムが主流であり、現在のWebが主流 のスタイルではなかった • 独自開発 • 大規模データ • 例)ユーザーデータ • 分散処理 • スケールアウト • 複数DCでのデータレプリケーション5 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 7. Yahoo! JAPANの技術 • 独自の技術で基盤を構築している • Yahoo! Inc.とYahoo! JAPANで開発したコアテクノロジー を元に、強靭な基盤を築いている • このテクノロジーを利用して、 Yahoo! JAPANのサービスは成り立っている6 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 8. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 7。すまりあがとこるな異は示表の際実。すでルプンサは面画 Yahoo! JAPANの技術
  • 9. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 8。すまりあがとこるな異は示表の際実。すでルプンサは面画 Yahoo! JAPANコアテクノロジー Yahoo! JAPANの技術
  • 10. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 9。すまりあがとこるな異は示表の際実。すでルプンサは面画 KVS Yahoo! JAPANコアテクノロジー Yahoo! JAPANの技術
  • 11. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 10。すまりあがとこるな異は示表の際実。すでルプンサは面画 CDN 広告技術 KVS Yahoo! JAPANコアテクノロジー 課金システム 認証システム Yahoo! JAPANの技術
  • 12. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 11。すまりあがとこるな異は示表の際実。すでルプンサは面画 CDN 広告技術 RDBMS KVS ストレージ Yahoo! JAPANコアテクノロジー 課金システム 認証システム Yahoo! JAPANの技術
  • 13. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 12。すまりあがとこるな異は示表の際実。すでルプンサは面画 CDN 広告技術 RDBMS KVS ストレージ 強靭なコアテクノロジー Yahoo! JAPANコアテクノロジー 課金システム 認証システム Yahoo! JAPANの技術
  • 14. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 13データレプリケーションシステム Yahoo! JAPANの
  • 15. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 14 • スケールアウト • 独自開発 す データレプリケーションシステムが存在しまYahoo! JAPANには
  • 16. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 15 KVS 例えば
  • 17. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 16 →負荷分散が必要 KVS・どこかのサービスが負荷をかけると全体に影響する →レイテンシが問題になる・フロントサーバーがDCをまたがる構成になった場合 発生する問題
  • 18. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 172.負荷分散1.レイテンシ問題の解決レプリケーションにより KVS DC 3 KVS KVS DC 1 DC 2 データレプリケーション
  • 19. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 18 オブジェクトストレージYahoo! JAPANにおける
  • 20. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 19 • データレプリケーション • スケールアウト • 独自開発オブジェクトストレージが存在します 実はYahoo! JAPANには・・・
  • 21. • 開発コンセプト(2009年7月開発スタート) • 容量無制限 • 無限にスケールアウトする • 安価 • とにかく利用価格を安くする • データの集中管理 • 集中管理する事で無駄をなくし、コスト削減を徹底する • 使いやすいI/F • REST形式のAPIを提供 • 高パフォーマンス • 可用性20 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 22. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 21。すまりあがとこるな異は示表の際実。すでルプンサは面画 Yahoo!ロコ プレイス • Yahoo!ブックストア • Yahoo!天気・災害 • Yahoo!ボックス • Yahoo! JAPAN内での利用実績(一部ご紹介)
  • 23. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 22• 数PBのデータが格納されている• サーバー台数が数千台に達している 数TB/day のアップロードを受けている• Yahoo!ボックスサービス開始から 実際のトラフィック
  • 24. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 23 KVS KVS ・・・・ KVS ・・・・ 独自KVS ・・・・ ・・・・ストレージエンジン Farm Farm データ Farm メタ API用使未はでスクッボ!oohaY※CDN(大容量配信) アプリケーション アーキテクチャ
  • 25. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 24 • 変更する理由は後ほど 更予定です り提供開始しましたが、より良いアーキテクチャへ変• Yahoo!クラウド ストレージとして、2012年9月初旬よ Yahoo!クラウド ストレージとして提供
  • 26. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 25 Riak概要
  • 27. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 26 Product一覧
  • 28. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 27• クラスタ間レプリケーションが可能 • 複数クラスタの構築が可能 • エンタープライズ版のRiak • Riak EDS • 単一クラスタの構築が可能 • OSS版のKVSエンジン • Riak
  • 29. • Riak CS • オブジェクトストレージ • Object(ファイル)はRiak / Riak EDSに保 存される • Riak / Riak EDSが無いと動作しない • 機能としてはAPIの役割を果たす • 認証 • 大容量ファイルの分割配置など28 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 30. • コンポーネント一覧 コンポーネント名 コンポーネント名 役割 OSS 有償 Riak 分散型KVSエンジン ○ Riak EDS 分散型KVSエンジン ○ クラスタ間レプリケーションが可能 Riak CS オブジェクトストレージAPI ○ Stanchion リクエストシリアライズ管理API ○29 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 31. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 30Riakアーキテクチャ概要
  • 32. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 31 Riak Cluster基本構成 Riak
  • 33. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 32 Riak Clusterデータを冗長化して保持 &コンシステントハッシュでデータを格納 Riak
  • 34. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 33 Riak Cluster Client サービス継続 ※ダウンしても他のノードが各ノードが全てAPI Riak
  • 35. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 34 Cluster B replication Cluster A Riak Riakクラスタ間のレプリケーションが可能 Riak EDS(有償版)
  • 36. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 35 Cluster B replication Cluster A Riak RiakProxy Proxy通常の使用方法 Riak EDS
  • 37. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 36 Stanchion Cluster Riak ・・・・・・・・・・・・ Riak CS Cluster基本構成 Riak CS
  • 38. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 37 Cluster B Cluster A Riak Riak replicationRiak CS Riak CS ・・・・ ・・・・ Stanchion Proxy Proxy通常の使用方法 Riak CS
  • 39. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 38インストール方法
  • 40. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 39 • レプリケーションの設定 • クラスタの構築 • 1nodeの構築インストールから起動まで Riak / Riak EDS
  • 41. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 40 • 起動 • 設定ファイルの編集 • インストール • パッケージダウンロード • 作業の流れ
  • 42. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 41• お使いの環境に合わせてダウンロードしてください• http://basho.com/resources/downloads/ • 以下のサイトからダウンロード • パッケージダウンロード • 1nodeの構築
  • 43. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 42$ sudo yum install riak-1.2.1-1.el6.x86_64.rpm CentOS 6の環境でインストールする場合 • インストール • 1nodeの構築
  • 44. • 1nodeの構築 • 設定ファイル編集 その1 $ sudo vi /etc/riak/app.config ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 {http, [ {"127.0.0.1", 8098 } ]}, ↓ {http, [ {“独自環境のIPアドレス", 8098 } ]},43 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 45. • 1nodeの構築 • 設定ファイル編集 その2 $ sudo vi /etc/riak/vm.args ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 -name riak@127.0.0.1 ↓ -name riak@独自環境のIPアドレス44 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 46. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 45 $← この表示が出ることを確認 pong $ riak ping • 確認 その1 特に、何もレスポンスはありません $ riak start • 起動 • 1nodeの構築
  • 47. • 1nodeの構築 • 確認 その2 $ sudo riak-admin member_status ================================= Membership ================================= •Status その1 Pending Node 確認 Ring --------------------------------- valid 100.0% -- ‘riak@127.0.0.1 --------------------------------- Valid:1 / Leaving:0 / Exiting:0 / Joining:0 / Down:0 ↑ この表示が出ることを確認46 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 48. • 1nodeの構築 • 確認 その3 $ sudo riak-admin ring_status ============= Claimant ============= Claimant: ‘riak@127.0.0.1 Status: up •Ring Ready: true 確認 その1 ========= Ownership Handoff ========== No pending changes. ========= Ownership Handoff ========== All nodes are up and reachable ↑ この表示が出ることを確認47 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 49. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 48 このコマンドで、表示確認 ↑ $ sudo riak-admin member_status • 確認$ riak-admin cluster join riak@[IPアドレス] • 設定(コマンド) • クラスタの構築
  • 50. • レプリケーションの設定(有償版のみ) • 設定ファイル編集 $ sudo vi /etc/riak/app.config レプリケーション設定(以下 サンプル)を追加反映 {riak_repl, [ {fullsync_on_connect, true}, {fullsync_interval, 360}, {data_root, “/var/lib/riak/riak_repl"}, {queue_size, 104857600}, {server_max_pending, 5}, {client_ack_frequency, 5} ]},49 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 51. • レプリケーションの設定(有償版のみ) • レプリケーション設定 $ riak-repl add-listener ‘riak@自分自身のIP’ ‘自分自身のIP’ 9010 コマンド実行後は、特に何も出力しません $ riak-repl add-site ‘同期先のIP’ 9010 クラスタ名 コマンド実行後は、特に何も出力しません50 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 52. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 51 このコマンドで、表示確認 ↑ $ riak-repl status • 確認• レプリケーションの設定(有償版のみ)
  • 53. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 52 コマンド実行後は、特に何も出力しません $ riak-repl start-fullsync • 同期開始• レプリケーションの設定(有償版のみ)
  • 54. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 53どの場面で利用するのが良いのか
  • 55. • 高速にデータアクセスさせたい場合 • 集合から単一データを高速に取得したい場合 • 将来的にデータ件数/容量が増える事 が確実である場合 • スケールアウトが必須の場合 • 運用コストを軽減したい場合 • システムが巨大化してしまい、運用コスト軽減を検討 したい • サーバー、人件費の両方54 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 56. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 55 • Riakとの接続設定 • Stanchionの構築 • 1nodeの構築インストールから起動まで Riak CS
  • 57. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 56 • 起動 • 設定ファイルの編集 • インストール • パッケージダウンロード • Riak CS/Stanchion • 作業の流れ
  • 58. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 57 • 有償版のみ • パッケージの種類
  • 59. • Riak CSの構築 • 1nodeの構築 • パッケージダウンロード • 開発トライアル登録後、ダウンロードURLが案内される • インストール CentOS 6の環境でインストールする場合 $ sudo yum install riak-cs_1.2.0.el6.x86_64.rpm58 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 60. • 設定ファイル編集 $ sudo vi /etc/riak-cs/app.config ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 {cs_ip, "127.0.0.1"}, ↓ {cs_ip, "独自環境のIPアドレス"},59 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 61. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 60{stanchion_ip, “独自環境のIPアドレス"}, ↓{stanchion_ip, “127.0.0.1"}, {riak_ip, "独自環境のIPアドレス"}, ↓ {riak_ip, "127.0.0.1"},
  • 62. • 設定ファイル編集 $ sudo vi /etc/riak-cs/vm.args ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 -name riak@127.0.0.1 ↓ -name riak@独自環境のIPアドレス61 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 63. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 62 pong $ sudo riak-cs ping • 確認 ok $ sudo riak-cs start • 起動
  • 64. • Stanchionの構築 • 1nodeの構築 • パッケージダウンロード • Riak-CSと同じです • インストール CentOS 6の環境でインストールする場合 $ sudo yum install stanchion-1.0.1-1.el6.x86_64.rpm63 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 65. • 設定ファイル編集 $ sudo vi /etc/stanchion/app.config ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 {stanchion_ip, "127.0.0.1"}, ↓ {stanchion_ip, "独自環境のIPアドレス"},64 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 66. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 65 {anonymous_user_creation, true}, ↓ {anonymous_user_creation, false}, {riak_ip, "独自環境のIPアドレス"}, ↓ {riak_ip, "10.1.1.192"},
  • 67. • 設定ファイル編集 $ sudo vi /etc/stanchion/vm.args ローカルに環境がある場合は、 設定ファイルの編集は、特には不要。 ネットワーク環境にある場合で、 IPアドレスが指定されている場合は、以下を編集 -name stanchion@127.0.0.1 ↓ -name stanchion@独自環境のIPアドレス66 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 68. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 67 pong $ sudo stanchion ping • 確認 ok $ sudo stanchion start • 起動
  • 69. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 68 • テストファイルの配置 • 管理ユーザの作成• コマンドラインからの確認
  • 70. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 69 デモRiak CSを使った
  • 71. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 70 Riak Clusterマウント APIコール Webサーバー(投稿)Webサーバー(閲覧画面) • サムネイル作成 • エンコード ロード アップ デモの概要
  • 72. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 71実際の導入事例
  • 73. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 72画像配信Riak CSで • LOHACO(アスクル様) 導入事例1
  • 74. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 73 Riak EDS Cluster 2 Riak EDS Cluster 1 レプリケーション Cluster Cluster Riak CS Riak CS障害発生時のみ CDN システム構成
  • 75. データ • 登録件数 • 約20万件弱 (データ移行は3時間程度) • ファイルの種類/サイズ • 画像データ • 5k~500k • リクエスト数 • 450req/sec • CDNキャッシュヒット率 • 97% • レスポンス • 10ms~80ms (CDNにキャッシュされている状態だと10ms程度)74 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 76. 構築~リリースまでの期間 • 構成検討、各種調整(NW、サーバー調達) • 1週間 • 構築&テスト・リリース • 構築:1日 • テスト&リリース:1週間 問題になったところ • データをフラットに配置したところ、 一覧取得できなくなった • 解決策:ディレクトリを分けてもらった75 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 77. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 76新しいクラウドストレージ Yahoo! JAPANの
  • 78. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 77Yahoo! JAPANの新しいクラウドストレージRiak CSを利用しての
  • 79. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 78本番サービス開始(予定) • 2013年4月先行リリース • 2013年1月トライアルリリース • 2012年10月 • スケジュール
  • 80. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 79なぜRiakを選んだのか
  • 81. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 80スで管理していくのは困難だったC向け、B向けで求められる機能が違うため、全てを1ソー •かった独自のオブジェクトストレージでは全てに対応できな • 求められる機能の違い
  • 82. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 81だったが、時間を節約したかった独自のオブジェクトストレージを改修する事も可能 •かったS3のユーティリティをそのまま流用したい旨のニーズが多 • ユーザーニーズに早急に応える必要があった •S3互換のオブジェクトストレージが必要だった
  • 83. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 82要ただしサーバー台数が増えた時にどうするのか検討が必 • なっている KVS単体でもストレージエンジンになりえるように • KVSがストレージエンジンになる
  • 84. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 83 サーバー追加が容易 • 設定が項目が少ない • コンポーネント数が少ない •運用コストがかからないような構成になっている • 運用コスト削減
  • 85. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 84 +一緒に開発できそうな人たちだった •レクトに活かせそうなアーキテクチャだったYahoo! JAPANで培ったKVSのノウハウを、ダイ
  • 86. Action!カード 今回のDevelopers Summitのテーマは「Action!」 • 共感から行動へ、「デベロッパーは未来を作っている。世の中をエコでスマート な社会にするために、デベロッパーは誇りを持って、行動しよう!」 • セッション後のAction!をレコメンド! • メッセージ • 「世界に5つのコンピュータ」 インフラを意識させないインフラを作ろう • おすすめのコミュニティ • Riak Meetup • おすすめの本 • プログラミングErlang85 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C
  • 87. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 86 に5つの させない 世界に コンピューター コンピューター インフラを インフラを 意識させない インフラを作ろう インフラをアンケートと引き換えに、ノベルティプレゼント!
  • 88. 止 禁 載 転 ・ 用 引 断 無 . d e v r e s e R s t h gi R ll A . n oi t a r o p r o C n a p a J o o h a Y 3 1 0 2 © t h gi r y p o C 87ご清聴ありがとうございました