SlideShare una empresa de Scribd logo
1 de 88
Descargar para leer sin conexión
Yahoo! JAPANの新しいクラウドストレージサービス
       JAPANの
          JAPANがRiakを んだ理由とは?~
                        理由とは
 ~Yahoo! JAPANがRiakを選んだ理由とは?~
              ヤフー株式会社
    マーケティングソリューションカンパニー 新規事業本部
             阪田 浩隆

           2013年2月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
                                                                                                                            1
                   自己紹介
氏名:阪田 浩隆(さかた ひろたか)
    入社年: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
• アジェンダ
     • 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
止 禁 載 転 ・ 用 引 断 無 . 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
17年のKVSの歴史がある
 実はYahoo! JAPANには
創業当時(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
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
止 禁 載 転 ・ 用 引 断 無 . 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の技術
止 禁 載 転 ・ 用 引 断 無 . 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の技術
止 禁 載 転 ・ 用 引 断 無 . 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の技術
止 禁 載 転 ・ 用 引 断 無 . 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の技術
止 禁 載 転 ・ 用 引 断 無 . 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の技術
止 禁 載 転 ・ 用 引 断 無 . 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の技術
止 禁 載 転 ・ 用 引 断 無 . 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の
止 禁 載 転 ・ 用 引 断 無 . 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には
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                            例えば
止 禁 載 転 ・ 用 引 断 無 . 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をまたがる構成になった場合
                                                                                                                                   発生する問題
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                                                    17
2.負荷分散
1.レイテンシ問題の解決
レプリケーションにより                                                                         KVS
                                                                                                                                           DC 3
       KVS
                                                                                                                                     KVS
                                                                                                                                             DC 1
                                         DC 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
                                                                                                                               18
 オブジェクトストレージ
Yahoo! JAPANにおける
止 禁 載 転 ・ 用 引 断 無 . 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には・・・
• 開発コンセプト(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
止 禁 載 転 ・ 用 引 断 無 . 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内での利用実績(一部ご紹介)
止 禁 載 転 ・ 用 引 断 無 . 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!ボックスサービス開始から
                                                                                                         実際のトラフィック
止 禁 載 転 ・ 用 引 断 無 . 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(大容量配信)                                                                                                              アプリケーション
                                                                                                                                       アーキテクチャ
止 禁 載 転 ・ 用 引 断 無 . 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!クラウド ストレージとして提供
止 禁 載 転 ・ 用 引 断 無 . 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概要
止 禁 載 転 ・ 用 引 断 無 . 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一覧
止 禁 載 転 ・ 用 引 断 無 . 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
• 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
• コンポーネント一覧
     コンポーネント名
     コンポーネント名    役割                                                                                                                           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
止 禁 載 転 ・ 用 引 断 無 . 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
Riakアーキテクチャ概要
止 禁 載 転 ・ 用 引 断 無 . 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
止 禁 載 転 ・ 用 引 断 無 . 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
止 禁 載 転 ・ 用 引 断 無 . 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
止 禁 載 転 ・ 用 引 断 無 . 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(有償版)
止 禁 載 転 ・ 用 引 断 無 . 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                                                                                                                                    Riak
Proxy                                                                                                                                                       Proxy
通常の使用方法
                                                                                                                                                     Riak EDS
止 禁 載 転 ・ 用 引 断 無 . 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
止 禁 載 転 ・ 用 引 断 無 . 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
                                                               replication
Riak CS                                                                                                                                                         Riak CS
          ・・・・                                                                                                                                       ・・・・
                                                          Stanchion
  Proxy                                                                                                                                                        Proxy
通常の使用方法
                                                                                                                                                              Riak CS
止 禁 載 転 ・ 用 引 断 無 . 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
インストール方法
止 禁 載 転 ・ 用 引 断 無 . 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
止 禁 載 転 ・ 用 引 断 無 . 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
                 • 起動
                 • 設定ファイルの編集
                 • インストール
                 • パッケージダウンロード
                                                                                                       • 作業の流れ
止 禁 載 転 ・ 用 引 断 無 . 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の構築
止 禁 載 転 ・ 用 引 断 無 . 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の構築
• 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
• 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
止 禁 載 転 ・ 用 引 断 無 . 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の構築
• 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
• 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
止 禁 載 転 ・ 用 引 断 無 . 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アドレス]
                                                                             • 設定(コマンド)
                                                                              • クラスタの構築
• レプリケーションの設定(有償版のみ)
     • 設定ファイル編集
      $ 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
• レプリケーションの設定(有償版のみ)
     • レプリケーション設定
      $ 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
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                                 • 確認
• レプリケーションの設定(有償版のみ)
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                       • 同期開始
• レプリケーションの設定(有償版のみ)
止 禁 載 転 ・ 用 引 断 無 . 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
どの場面で利用するのが良いのか
• 高速にデータアクセスさせたい場合
     • 集合から単一データを高速に取得したい場合


 • 将来的にデータ件数/容量が増える事
   が確実である場合
     • スケールアウトが必須の場合


 • 運用コストを軽減したい場合
     • システムが巨大化してしまい、運用コスト軽減を検討
       したい
      • サーバー、人件費の両方
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
止 禁 載 転 ・ 用 引 断 無 . 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
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                       • 作業の流れ
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                • 有償版のみ
                                                      • パッケージの種類
• Riak CSの構築
     • 1nodeの構築
      • パッケージダウンロード
       • 開発トライアル登録後、ダウンロードURLが案内される




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

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




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
• 設定ファイル編集
     $ 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
止 禁 載 転 ・ 用 引 断 無 . 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"},
• 設定ファイル編集
     $ 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
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                            • 起動
• Stanchionの構築
     • 1nodeの構築
      • パッケージダウンロード
        • Riak-CSと同じです




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

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




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
• 設定ファイル編集
     $ 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
止 禁 載 転 ・ 用 引 断 無 . 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"},
• 設定ファイル編集
     $ 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
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                            • 起動
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                            69
      デモ
Riak CSを使った
止 禁 載 転 ・ 用 引 断 無 . 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サーバー(閲覧画面)
                           • サムネイル作成
                           • エンコード                                                                                                      ロード
                                                                                                                                        アップ
                                                                                                                                        デモの概要
止 禁 載 転 ・ 用 引 断 無 . 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
実際の導入事例
止 禁 載 転 ・ 用 引 断 無 . 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
止 禁 載 転 ・ 用 引 断 無 . 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
                                                                                                                                                  システム構成
データ
     • 登録件数
      • 約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
構築~リリースまでの期間
     • 構成検討、各種調整(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
止 禁 載 転 ・ 用 引 断 無 . 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の
止 禁 載 転 ・ 用 引 断 無 . 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
Yahoo! JAPANの新しいクラウドストレージ
Riak CSを利用しての
止 禁 載 転 ・ 用 引 断 無 . 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月
                                                                                                                                • スケジュール
止 禁 載 転 ・ 用 引 断 無 . 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を選んだのか
止 禁 載 転 ・ 用 引 断 無 . 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ソー                                                                                                          •
かった
独自のオブジェクトストレージでは全てに対応できな                                                                                                                 •
                                                                 求められる機能の違い
止 禁 載 転 ・ 用 引 断 無 . 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互換のオブジェクトストレージが必要だった
止 禁 載 転 ・ 用 引 断 無 . 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がストレージエンジンになる
止 禁 載 転 ・ 用 引 断 無 . 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
                                                       サーバー追加が容易                                                                  •
                                                       設定が項目が少ない                                                                  •
                                                       コンポーネント数が少ない                                                               •
運用コストがかからないような構成になっている                                                                                                                •
                                                                                                            運用コスト削減
止 禁 載 転 ・ 用 引 断 無 . 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のノウハウを、ダイ
Action!カード
     今回のDevelopers Summitのテーマは「Action!」
        • 共感から行動へ、「デベロッパーは未来を作っている。世の中をエコでスマート
          な社会にするために、デベロッパーは誇りを持って、行動しよう!」
        • セッション後のAction!をレコメンド!


     • メッセージ
        • 「世界に5つのコンピュータ」
          インフラを意識させないインフラを作ろう


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


     • おすすめの本
        • プログラミングErlang


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
止 禁 載 転 ・ 用 引 断 無 . 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つの
                                                  させない


                                                世界に
                                                コンピューター
                                                コンピューター
                                                インフラを
                                                インフラを
                                                意識させない
                                                インフラを作ろう
                                                インフラを
アンケートと引き換えに、ノベルティプレゼント!
止 禁 載 転 ・ 用 引 断 無 . 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
ご清聴ありがとうございました

Más contenido relacionado

Destacado

SharePoint Online で、ポータル実践アイデア
SharePoint Online で、ポータル実践アイデアSharePoint Online で、ポータル実践アイデア
SharePoint Online で、ポータル実践アイデアHirofumi Ota
 
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Takahiko Sato
 
運用が楽になる分散データベース Riak
運用が楽になる分散データベース Riak運用が楽になる分散データベース Riak
運用が楽になる分散データベース RiakTakahiko Sato
 
PIXTA_シードラウンド用事業プラン説明資料
PIXTA_シードラウンド用事業プラン説明資料PIXTA_シードラウンド用事業プラン説明資料
PIXTA_シードラウンド用事業プラン説明資料Find Job Startup
 
Corporate Brochure Dynamis 2012
Corporate Brochure Dynamis 2012Corporate Brochure Dynamis 2012
Corporate Brochure Dynamis 2012Dynamis
 
지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGLJun Ho Lee
 
Oracle http server installation on linux
Oracle http server installation on linuxOracle http server installation on linux
Oracle http server installation on linuxRavi Kumar Lanke
 
Twitter 101 Arabic عالم التويتر
Twitter 101 Arabic عالم التويتر Twitter 101 Arabic عالم التويتر
Twitter 101 Arabic عالم التويتر DigiArabs
 
The hospital’s role in breastfeeding culture change - 2013 First Food Forum
The hospital’s role in breastfeeding culture change - 2013 First Food ForumThe hospital’s role in breastfeeding culture change - 2013 First Food Forum
The hospital’s role in breastfeeding culture change - 2013 First Food ForumW.K. Kellogg Foundation
 
Ruth agnew presentation Modern Governor #GovernorLive 25062013
Ruth agnew presentation Modern Governor #GovernorLive 25062013Ruth agnew presentation Modern Governor #GovernorLive 25062013
Ruth agnew presentation Modern Governor #GovernorLive 25062013Elaine Walton
 
Stichting E-laad.nl Presentatie 10.000 oplaadpunten
Stichting E-laad.nl Presentatie 10.000 oplaadpuntenStichting E-laad.nl Presentatie 10.000 oplaadpunten
Stichting E-laad.nl Presentatie 10.000 oplaadpuntenslidejurg
 
W.K. Kellogg Foundation - Workforce Composition (2010)
W.K. Kellogg Foundation - Workforce Composition  (2010)W.K. Kellogg Foundation - Workforce Composition  (2010)
W.K. Kellogg Foundation - Workforce Composition (2010)W.K. Kellogg Foundation
 
Game Designer
Game DesignerGame Designer
Game DesignerDanielle
 
Стратегические отличия маркетинга в Интернете НИУ ВШЭ
Стратегические отличия маркетинга в Интернете НИУ ВШЭСтратегические отличия маркетинга в Интернете НИУ ВШЭ
Стратегические отличия маркетинга в Интернете НИУ ВШЭSegrey Nikishov - @n_grey
 
Good governance curbs corruption
Good governance curbs corruptionGood governance curbs corruption
Good governance curbs corruptionAndeel Ali
 

Destacado (19)

SharePoint Online で、ポータル実践アイデア
SharePoint Online で、ポータル実践アイデアSharePoint Online で、ポータル実践アイデア
SharePoint Online で、ポータル実践アイデア
 
Yahoo! JAPANとRiak
Yahoo! JAPANとRiakYahoo! JAPANとRiak
Yahoo! JAPANとRiak
 
Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?Riak: 本物の高可用性を実現する仕組みとは?
Riak: 本物の高可用性を実現する仕組みとは?
 
運用が楽になる分散データベース Riak
運用が楽になる分散データベース Riak運用が楽になる分散データベース Riak
運用が楽になる分散データベース Riak
 
Yahoo! JAPAN の アジャイル開発の普及戦略
Yahoo! JAPAN の アジャイル開発の普及戦略Yahoo! JAPAN の アジャイル開発の普及戦略
Yahoo! JAPAN の アジャイル開発の普及戦略
 
PIXTA_シードラウンド用事業プラン説明資料
PIXTA_シードラウンド用事業プラン説明資料PIXTA_シードラウンド用事業プラン説明資料
PIXTA_シードラウンド用事業プラン説明資料
 
Corporate Brochure Dynamis 2012
Corporate Brochure Dynamis 2012Corporate Brochure Dynamis 2012
Corporate Brochure Dynamis 2012
 
지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL
 
Oracle http server installation on linux
Oracle http server installation on linuxOracle http server installation on linux
Oracle http server installation on linux
 
Twitter 101 Arabic عالم التويتر
Twitter 101 Arabic عالم التويتر Twitter 101 Arabic عالم التويتر
Twitter 101 Arabic عالم التويتر
 
The hospital’s role in breastfeeding culture change - 2013 First Food Forum
The hospital’s role in breastfeeding culture change - 2013 First Food ForumThe hospital’s role in breastfeeding culture change - 2013 First Food Forum
The hospital’s role in breastfeeding culture change - 2013 First Food Forum
 
Een duurzaam meerjarenpan - u gaat niet langs af
Een duurzaam meerjarenpan - u gaat niet langs afEen duurzaam meerjarenpan - u gaat niet langs af
Een duurzaam meerjarenpan - u gaat niet langs af
 
Ruth agnew presentation Modern Governor #GovernorLive 25062013
Ruth agnew presentation Modern Governor #GovernorLive 25062013Ruth agnew presentation Modern Governor #GovernorLive 25062013
Ruth agnew presentation Modern Governor #GovernorLive 25062013
 
Stichting E-laad.nl Presentatie 10.000 oplaadpunten
Stichting E-laad.nl Presentatie 10.000 oplaadpuntenStichting E-laad.nl Presentatie 10.000 oplaadpunten
Stichting E-laad.nl Presentatie 10.000 oplaadpunten
 
W.K. Kellogg Foundation - Workforce Composition (2010)
W.K. Kellogg Foundation - Workforce Composition  (2010)W.K. Kellogg Foundation - Workforce Composition  (2010)
W.K. Kellogg Foundation - Workforce Composition (2010)
 
Meest duurzame verbouwde gemeentehuis van nederland in oss
Meest duurzame verbouwde gemeentehuis van nederland in ossMeest duurzame verbouwde gemeentehuis van nederland in oss
Meest duurzame verbouwde gemeentehuis van nederland in oss
 
Game Designer
Game DesignerGame Designer
Game Designer
 
Стратегические отличия маркетинга в Интернете НИУ ВШЭ
Стратегические отличия маркетинга в Интернете НИУ ВШЭСтратегические отличия маркетинга в Интернете НИУ ВШЭ
Стратегические отличия маркетинга в Интернете НИУ ВШЭ
 
Good governance curbs corruption
Good governance curbs corruptionGood governance curbs corruption
Good governance curbs corruption
 

Más de Developers Summit

【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」Developers Summit
 
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~Developers Summit
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~Developers Summit
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみるDevelopers Summit
 
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。Developers Summit
 
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦Developers Summit
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツールDevelopers Summit
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツールDevelopers Summit
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)Developers Summit
 
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~Developers Summit
 
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えしますDevelopers Summit
 
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流Developers Summit
 
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~Developers Summit
 
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例Developers Summit
 
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~Developers Summit
 
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜Developers Summit
 
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介Developers Summit
 
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習Developers Summit
 
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道Developers Summit
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略Developers Summit
 

Más de Developers Summit (20)

【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
 
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
 
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
 
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
 
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
 
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
 
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
 
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
 
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例
 
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
 
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
 
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介
 
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
 
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略
 

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

  • 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 4 17年の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 17 2.負荷分散 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 30 Riakアーキテクチャ概要
  • 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 Riak Proxy 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 replication Riak 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.rpm 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
  • 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.rpm 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
  • 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 77 Yahoo! 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 • おすすめの本 • プログラミングErlang 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
  • 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 ご清聴ありがとうございました