デブサミ2013【14-d-6】yahoo! japanの新しいクラウドストレージサービス~yahoo!...

88
Yahoo! JAPAN Yahoo! JAPAN Yahoo! JAPAN Yahoo! JAPANしいクラウドストレージサービス しいクラウドストレージサービス しいクラウドストレージサービス しいクラウドストレージサービス Yahoo! JAPAN Yahoo! JAPAN Yahoo! JAPAN Yahoo! JAPANしいクラウドストレージサービス しいクラウドストレージサービス しいクラウドストレージサービス しいクラウドストレージサービス ~Yahoo! JAPAN Yahoo! JAPAN Yahoo! JAPAN Yahoo! JAPANが がRiak Riak Riak Riakを を選 選んだ んだ んだ んだ理由 理由 理由 理由とは とは とは とは?~ ?~ ?~ ?~ ヤフー株式会社 マーケティングソリューションカンパニー新規事業本部 阪田 浩隆 2013年2月14日(木)

Post on 19-Oct-2014

2.383 views

Category:

Technology


4 download

DESCRIPTION

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

TRANSCRIPT

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

Yahoo! JAPANYahoo! JAPANYahoo! JAPANYahoo! JAPANのののの新新新新しいクラウドストレージサービスしいクラウドストレージサービスしいクラウドストレージサービスしいクラウドストレージサービスYahoo! JAPANYahoo! JAPANYahoo! JAPANYahoo! JAPANのののの新新新新しいクラウドストレージサービスしいクラウドストレージサービスしいクラウドストレージサービスしいクラウドストレージサービス

~~~~Yahoo! JAPANYahoo! JAPANYahoo! JAPANYahoo! JAPANががががRiakRiakRiakRiakをををを選選選選んだんだんだんだ理由理由理由理由とはとはとはとは?~?~?~?~

ヤフー株式会社

マーケティングソリューションカンパニー 新規事業本部

阪田 浩隆

2013年2月14日(木)

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

自己紹介

1 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

氏名:阪田 浩隆(さかた ひろたか)

入社年:2004年10月

担当業務実績:

- 社内認証システム開発

- ビジネス系認証システム開発

- 社内ツール系開発- 社内ツール系開発

- 分散KVS 開発・保守・運用

- オブジェクトストレージ 開発

現在:Riak開発部隊(Yahoo! JAPAN内)

2 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• アジェンダ

• Yahoo! JAPANを支える技術

• KVS

• データレプリケーション

• オブジェクトストレージ

• Riak概要

• Product一覧•

• アーキテクチャ概要

• インストールから起動まで

• Riak EDS

• Riak CS

• 簡易デモ

• Yahoo! JAPANの新しいクラウドストレージ

• なぜRiakを選んだのか

3 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

実はYahoo! JAPANには

17年のKVSの歴史がある17年のKVSの歴史がある

4 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

創業当時(1996年)から、

データを扱うプラットフォームとして

分散KVSを使用している

※当時はまだクライアントサーバーシステムが主流であり、現在のWebが主流

のスタイルではなかった

• 独自開発• 独自開発

• 大規模データ

• 例)ユーザーデータ

• 分散処理

• スケールアウト

• 複数DCでのデータレプリケーション

5 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの技術

• 独自の技術で基盤を構築している

• Yahoo! Inc.とYahoo! JAPANで開発したコアテクノロジー

を元に、強靭な基盤を築いている

• このテクノロジーを利用して、

Yahoo! JAPANのサービスは成り立っている

6 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの技術

7

画面はサンプルです。実際の表示は異なることがあります。Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの技術

8

Yahoo! JAPANコアテクノロジー

画面はサンプルです。実際の表示は異なることがあります。Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの技術

9

Yahoo! JAPANコアテクノロジー

KVS

画面はサンプルです。実際の表示は異なることがあります。Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの技術

認証システム 課金システム

10

Yahoo! JAPANコアテクノロジー

KVS

認証システム 課金システム

広告技術 CDN

画面はサンプルです。実際の表示は異なることがあります。Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの技術

認証システム 課金システム

11

Yahoo! JAPANコアテクノロジー

KVS

認証システム 課金システム

広告技術 CDN

ストレージ RDBMS

画面はサンプルです。実際の表示は異なることがあります。Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの技術

認証システム 課金システム

12

Yahoo! JAPANコアテクノロジー

KVS

認証システム 課金システム

広告技術 CDN

ストレージ RDBMS

強靭なコアテクノロジー

画面はサンプルです。実際の表示は異なることがあります。Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの

データレプリケーションシステム

13 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANには

データレプリケーションシステムが存在しま

• 独自開発

•• スケールアウト

14 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

例えば

15 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止KVS

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

発生する問題

・フロントサーバーがDCをまたがる構成になった場合

16 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止KVS

・フロントサーバーがDCをまたがる構成になった場合

→レイテンシが問題になる

・どこかのサービスが負荷をかけると全体に影響する

→負荷分散が必要

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

データレプリケーション

KVS

KVS

DC 1DC 2

17 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

KVS

KVS

KVS

DC 3

レプリケーションにより

1.レイテンシ問題の解決

2.負荷分散

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

Yahoo! JAPANにおける

オブジェクトストレージ

18 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

実はYahoo! JAPANには・・・

オブジェクトストレージが存在します

• 独自開発

• スケールアウト

• データレプリケーション

19 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• 開発コンセプト(2009年7月開発スタート)

• 容量無制限

• 無限にスケールアウトする

• 安価

• とにかく利用価格を安くする

• データの集中管理

• 集中管理する事で無駄をなくし、コスト削減を徹底する• 集中管理する事で無駄をなくし、コスト削減を徹底する

• 使いやすいI/F

• REST形式のAPIを提供

• 高パフォーマンス

• 可用性

20 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPAN内での利用実績(一部ご紹介)

• Yahoo!ボックス

• Yahoo!天気・災害

• Yahoo!ブックストア

• Yahoo!ロコ プレイス

21

画面はサンプルです。実際の表示は異なることがあります。Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

実際のトラフィック

• Yahoo!ボックスサービス開始から

数TB/day のアップロードを受けている

• サーバー台数が数千台に達している

• 数PBのデータが格納されている

22 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

アーキテクチャ

API

CDN(大容量配信)※Yahoo!ボックスでは未使用アプリケーション

KVS

KVS

KVS

独自KVS

23

メタ

データ

Farm

・・・・

Farm

・・・・

Farm

・・・・

ストレージエンジン

・・・・

Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo!クラウド ストレージとして提供

• Yahoo!クラウド ストレージとして、2012年9月初旬よ

り提供開始しましたが、より良いアーキテクチャへ変

更予定です

• 変更する理由は後ほど

24 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Riak概要

25 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Product一覧

26 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• Riak

• OSS版のKVSエンジン

• 単一クラスタの構築が可能

• Riak EDS

• エンタープライズ版のRiak• エンタープライズ版のRiak

• 複数クラスタの構築が可能

• クラスタ間レプリケーションが可能

27 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• Riak CS

• オブジェクトストレージ

• Object(ファイル)はRiak / Riak EDSに保

存される

• Riak / Riak EDSが無いと動作しない

• 機能としてはAPIの役割を果たす

• 認証

• 大容量ファイルの分割配置など

28 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• コンポーネント一覧

コンポーネントコンポーネントコンポーネントコンポーネント名名名名 役割役割役割役割 OSSOSSOSSOSS 有償有償有償有償

Riak 分散型KVSエンジン ○

Riak EDS 分散型KVSエンジン

クラスタ間レプリケーションが可能

Riak CS オブジェクトストレージAPI ○

29 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak CS オブジェクトストレージAPI ○

Stanchion リクエストシリアライズ管理API ○

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

Riakアーキテクチャ概要

30 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Riak

基本構成

31 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak ClusterRiak ClusterRiak ClusterRiak Cluster

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

Riakコンシステントハッシュでデータを格納

データを冗長化して保持

32 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak ClusterRiak ClusterRiak ClusterRiak Cluster

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

Riak各ノードが全てAPI

※ダウンしても他のノードが

サービス継続

Client

33 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak ClusterRiak ClusterRiak ClusterRiak Cluster

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

Riak EDS(有償版)

RiakRiakRiakRiak

ClusterClusterClusterCluster AAAA

replication

Riak Riak Riak Riak

ClusterClusterClusterCluster BBBB

クラスタ間のレプリケーションが可能

34 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

ClusterClusterClusterCluster AAAA ClusterClusterClusterCluster BBBB

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

Riak EDS

通常の使用方法

Proxy

Proxy

35 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止RiakRiakRiakRiak

ClusterClusterClusterCluster AAAA

replication

Riak Riak Riak Riak

ClusterClusterClusterCluster BBBB

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

Riak CS

基本構成

・・・・・・・・・・・・

Riak CS ClusterRiak CS ClusterRiak CS ClusterRiak CS Cluster

36 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak Riak Riak Riak

ClusterClusterClusterCluster

StanchionStanchionStanchionStanchion

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

Riak CS

通常の使用方法

ProxyProxy

・・・・・・・・

Stanchion

37 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止RiakRiakRiakRiak

ClusterClusterClusterCluster AAAA

replication

Riak Riak Riak Riak

ClusterClusterClusterCluster BBBB

Riak CS Riak CS

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

インストール方法

38 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Riak / Riak EDS

インストールから起動まで

• 1nodeの構築

39 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

• 1nodeの構築

• クラスタの構築

• レプリケーションの設定

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

• 作業の流れ

• パッケージダウンロード

• インストール

• 設定ファイルの編集

• 起動• 起動

40 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• 1nodeの構築

•パッケージダウンロード

• 以下のサイトからダウンロード

• http://basho.com/resources/downloads/

• お使いの環境に合わせてダウンロードしてください

41 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• 1nodeの構築

•インストール

CentOS 6の環境でインストールする場合

$ sudo yum install riak-1.2.1-1.el6.x86_64.rpm

42 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• 1nodeの構築

•設定ファイル編集 その1

$ sudo vi /etc/riak/app.config

ローカルに環境がある場合は、

設定ファイルの編集は、特には不要。

43 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

ネットワーク環境にある場合で、

IPアドレスが指定されている場合は、以下を編集

{http, [ {"127.0.0.1", 8098 } ]},

{http, [ {“独自環境のIPアドレス", 8098 } ]},

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

• 1nodeの構築

•設定ファイル編集 その2

$ sudo vi /etc/riak/vm.args

ローカルに環境がある場合は、

設定ファイルの編集は、特には不要。

44 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

ネットワーク環境にある場合で、

IPアドレスが指定されている場合は、以下を編集

-name [email protected]

-name riak@独自環境のIPアドレス

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

• 1nodeの構築

•起動

•確認 その1

$ riak start

特に、何もレスポンスはありません

•確認 その1

45 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

$ riak ping

pong ← この表示が出ることを確認

$

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

• 1nodeの構築

•確認 その2

•確認 その1

$ sudo riak-admin member_status

=================================

Membership

=================================

Status Ring Pending Node•確認 その1

46 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Status Ring Pending Node

---------------------------------

valid 100.0% -- ‘[email protected]'

---------------------------------

Valid:1 / Leaving:0 / Exiting:0 / Joining:0 / Down:0

この表示が出ることを確認

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

• 1nodeの構築

•確認 その3

•確認 その1

$ sudo riak-admin ring_status

============= Claimant =============

Claimant: ‘[email protected]'

Status: up

Ring Ready: true•確認 その1

47 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Ring Ready: true

========= Ownership Handoff ==========

No pending changes.

========= Ownership Handoff ==========

All nodes are up and reachable

この表示が出ることを確認

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

• クラスタの構築

• 設定(コマンド)

• 確認

$ riak-admin cluster join riak@[IPアドレス]

$ sudo riak-admin member_status

48 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

$ sudo riak-admin member_status

このコマンドで、表示確認

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

• レプリケーションの設定(有償版のみ)

• 設定ファイル編集

$ sudo vi /etc/riak/app.config

レプリケーション設定(以下 サンプル)を追加反映

{riak_repl, [

49 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

{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}

]},

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

• レプリケーションの設定(有償版のみ)

• レプリケーション設定

$ riak-repl add-listener ‘riak@自分自身のIP’

‘自分自身のIP’ 9010

コマンド実行後は、特に何も出力しません

50 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

$ riak-repl add-site ‘同期先のIP’ 9010 クラスタ名

コマンド実行後は、特に何も出力しません

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

• レプリケーションの設定(有償版のみ)

• 確認

$ riak-repl status

このコマンドで、表示確認

51 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• レプリケーションの設定(有償版のみ)

• 同期開始

$ riak-repl start-fullsync

コマンド実行後は、特に何も出力しません

52 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

どの場面で利用するのが良いのか

53 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• 高速にデータアクセスさせたい場合

• 集合から単一データを高速に取得したい場合

• 将来的にデータ件数/容量が増える事

が確実である場合

• スケールアウトが必須の場合• スケールアウトが必須の場合

• 運用コストを軽減したい場合

• システムが巨大化してしまい、運用コスト軽減を検討

したい

• サーバー、人件費の両方

54 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Riak CS

インストールから起動まで

• 1nodeの構築

55 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

• 1nodeの構築

• Stanchionの構築

• Riakとの接続設定

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

• 作業の流れ

• Riak CS/Stanchion

•パッケージダウンロード

•インストール

•設定ファイルの編集•設定ファイルの編集

•起動

56 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• パッケージの種類

• 有償版のみ

57 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• Riak CSの構築

• 1nodeの構築

•パッケージダウンロード

• 開発トライアル登録後、ダウンロードURLが案内される

••インストール

58 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

CentOS 6の環境でインストールする場合

$ sudo yum install riak-cs_1.2.0.el6.x86_64.rpm

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

•設定ファイル編集

$ sudo vi /etc/riak-cs/app.config

ローカルに環境がある場合は、

設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、

IPアドレスが指定されている場合は、以下を編集

59 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

IPアドレスが指定されている場合は、以下を編集

{cs_ip, "127.0.0.1"},

{cs_ip, "独自環境のIPアドレス"},

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

{riak_ip, "127.0.0.1"},

{riak_ip, "独自環境のIPアドレス"},

{stanchion_ip, “127.0.0.1"},

{stanchion_ip, “独自環境のIPアドレス"},

60 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

•設定ファイル編集

$ sudo vi /etc/riak-cs/vm.args

ローカルに環境がある場合は、

設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、

IPアドレスが指定されている場合は、以下を編集

61 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

-name [email protected]

-name riak@独自環境のIPアドレス

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

•起動

•確認

$ sudo riak-cs start

ok

$ sudo riak-cs ping

pong

62 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

pong

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

• Stanchionの構築

• 1nodeの構築

•パッケージダウンロード

• Riak-CSと同じです

•インストール•インストール

63 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

CentOS 6の環境でインストールする場合

$ sudo yum install stanchion-1.0.1-1.el6.x86_64.rpm

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

•設定ファイル編集

$ sudo vi /etc/stanchion/app.config

ローカルに環境がある場合は、

設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、

IPアドレスが指定されている場合は、以下を編集

64 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

IPアドレスが指定されている場合は、以下を編集

{stanchion_ip, "127.0.0.1"},

{stanchion_ip, "独自環境のIPアドレス"},

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

{riak_ip, "10.1.1.192"},

{riak_ip, "独自環境のIPアドレス"},

{anonymous_user_creation, false},

{anonymous_user_creation, true},

65 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

•設定ファイル編集

$ sudo vi /etc/stanchion/vm.args

ローカルに環境がある場合は、

設定ファイルの編集は、特には不要。

ネットワーク環境にある場合で、

IPアドレスが指定されている場合は、以下を編集

66 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

-name [email protected]

-name stanchion@独自環境のIPアドレス

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

•起動

•確認

$ sudo stanchion start

ok

$ sudo stanchion ping

pong

67 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

pong

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

• コマンドラインからの確認

• 管理ユーザの作成

• テストファイルの配置

68 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Riak CSを使った

デモ

69 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

�デモの概要

Webサーバー(投稿)

Webサーバー(閲覧画面)

アップ

ロード • エンコード

• サムネイル作成

70 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止Riak ClusterRiak ClusterRiak ClusterRiak Cluster

マウントAPIコール

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

実際の導入事例

71 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

導入事例1

• LOHACO(アスクル様)

72 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

Riak CSで

画像配信

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

システム構成

Riak CS

Cluster

CDN

Riak CS

Cluster

障害発生時のみ

73 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止Riak EDS Cluster 1 Riak EDS Cluster 2

レプリケーション

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

データ

• 登録件数

• 約20万件弱 (データ移行は3時間程度)

• ファイルの種類/サイズ

• 画像データ

• 5k~500k

• リクエスト数• リクエスト数

• 450req/sec

• CDNキャッシュヒット率

• 97%

• レスポンス

• 10ms~80ms (CDNにキャッシュされている状態だと10ms程度)

74 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

�構築~リリースまでの期間

• 構成検討、各種調整(NW、サーバー調達)

• 1週間

• 構築&テスト・リリース

• 構築:1日

• テスト&リリース:1週間

�問題になったところ�問題になったところ

• データをフラットに配置したところ、

一覧取得できなくなった

• 解決策:ディレクトリを分けてもらった

75 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Yahoo! JAPANの

新しいクラウドストレージ

76 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

Riak CSを利用しての

Yahoo! JAPANの新しいクラウドストレージ

77 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

• スケジュール

• 2012年10月 トライアルリリース

• 2013年1月 先行リリース

• 2013年4月 本番サービス開始(予定)

78 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

なぜRiakを選んだのか

79 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

� 求められる機能の違い

• 独自のオブジェクトストレージでは全てに対応できな

かった

• C向け、B向けで求められる機能が違うため、全てを1ソー

スで管理していくのは困難だった

80 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

� S3互換のオブジェクトストレージが必要だった

• ユーザーニーズに早急に応える必要があった

• S3のユーティリティをそのまま流用したい旨のニーズが多

かった

• 独自のオブジェクトストレージを改修する事も可能

だったが、時間を節約したかった

81 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

� KVSがストレージエンジンになる

• KVS単体でもストレージエンジンになりえるように

なっている

• ただしサーバー台数が増えた時にどうするのか検討が必

82 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

� 運用コスト削減

• 運用コストがかからないような構成になっている

• コンポーネント数が少ない

• 設定が項目が少ない

• サーバー追加が容易

83 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

� Yahoo! JAPANで培ったKVSのノウハウを、ダイ

レクトに活かせそうなアーキテクチャだった

• +一緒に開発できそうな人たちだった

84 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

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

�Action!カード

今回のDevelopers Summitのテーマは「Action!」

• 共感から行動へ、「デベロッパーは未来を作っている。世の中をエコでスマート

な社会にするために、デベロッパーは誇りを持って、行動しよう!」

• セッション後のAction!をレコメンド!

• メッセージ

• 「世界に5つのコンピュータ」

85 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

インフラを意識させないインフラを作ろう

• おすすめのコミュニティ

• Riak Meetup

• おすすめの本

• プログラミングErlang

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

世界に

コンピューター

インフラを

意識させない

インフラを

�アンケートと引き換えに、ノベルティプレゼント!

86 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止

に5つの

コンピューター

インフラを

させない

インフラを作ろう

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

ご清聴ありがとうございました

87 Copyright © 2013 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止