Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
楽天がCloudFoundryを選んだ理由
楽天が            を んだ理由


          楽天株式会社
    DU グループインフラ構築・運用課
            葉山 剛
           2011/11/8
アジェンダ


• 楽天の紹介
  楽天の

• なぜ PaaS Cloudなのか
               なのか

• なぜ
  なぜCloudFoundryなのか
                なのか

• 楽天のシステム開発の方向性
  楽天のシステム開発の
         開発
楽天Cloudの目指す方向性




クラウドを活用して、世界で てる、スピード感
クラウドを活用して、世界で勝てる、スピード感のある
       して
開発体制を
開発体制を築くこと
楽天の紹介

•   グループ社員数 7000人
    グループ社員数 約7000人
•   市場・トラベルをはじめ 40以上 サービスを
           をはじめ、 以上の
    市場・トラベルをはじめ、40以上のサービスを提供
•            8000万件以上
    市場登録商品数 8000万件以上
•   グループ流通額 2.6兆円
    グループ流通額 2.6兆円      グループ流通額
                       グループ流通額        (単位 億円
                                       単位:10億円
                                       単位 億円)

                        Edy及びクレジットカード決済額
    楽天市場
                        Eコマース及びトラベル
楽天の海外展開


     • 海外 ヶ国に進出
       海外10ヶ
     • 将来的には ヶ国以上に進出、グローバル化を加速
       将来的には20ヶ国以上に進出、グローバル化
           には

England
          Germany




                              Brazil
グローバルにおける楽天のポジション

 ユニークビジター数による小売/オークションサイト グローバルランキング 2011

   (単位:千人)




                              出典: comScore Media Metrics



世界一のインターネット企業になるには、技術開発でもトップを
世界一のインターネット企業になるには、技術開発でもトップを
           企業になるには     でもトップ
目指す必要がある
目指す必要がある
楽天の開発体制


• 日本国内に1000人以上 (外国籍が2割以上)
  日本国内に    人以上 外国籍が 割以上
                     割以上)
• 年間約1000件の開発プロジェクト
  年間約    件 開発プロジェクト
• 短いものでは数日で起案・開発・リリース
   いものでは数日 起案・開発・
          数日で
• 開発・運用のほとんどが内製
  開発・運用のほとんどが
        のほとんどが内製
Private IaaSクラウドの展開


• 2010年後半から、IaaS Cloudを利用開始
      年後半から
      年後半から、          を
• 1000台以上の仮想マシンが稼動中(開発環境を含む)
      台以上の
      台以上 仮想マシン
              マシンが       開発環境を
                         開発環境

• 構築リードタイムの短縮と、機器集約によるコスト削減を実現
  構築リードタイム 短縮と 機器集約によるコスト削減
      リードタイムの             によるコスト削減を


      楽天IaaSクラウドのVM数推移(2011年)
楽天IaaSクラウドでの課題


• 分業体制が温存される
  分業体制が温存される
  – アプリケーションはアプリエンジニア
    アプリケーションは
  – OS/ミドルウェアはインフラエンジニア
       ミドルウェアは
       ミドルウェア

                          リリース
               アプリエンジニア     したい

                              設定は
                              設定は?



役割分担
の境界    アプリケーション                            アプリケーション

        ミドルウェア                              ミドルウェア
                              インフラエンジニア
          OS                                  OS


                                          IaaSサーバー
                                              サーバー
       物理サーバー
       物理サーバー

         コミュニケーション工数が発生し
         コミュニケーション工数が発生し続ける
                  工数
PaaSクラウド導入の目的

• 不要なコミュニケーションを減らして、開発スピードを上げる
  不要なコミュニケーションを らして、開発スピード
                      スピードを
• IaaS以上にリソース変更を容易にする
      以上にリソース変更を容易にする
      以上     変更
• 導入時にシステムの標準化を進めて、全体的な開発効率を上げる
  導入時にシステムの標準化を めて、全体的な開発効率を

                  サービス開発に
                  サービス開発に専念
                      開発




役割分担   アプリエンジニア
の境界                           インフラを意識せず利用
                              インフラを意識せず利用
                                     せず


                                 プラットフォーム運用に
                                 プラットフォーム運用に専念
                                         運用

                         PaaS
                        クラウド


                                     インフラエンジニア
Private or Public

• Private Cloudの必要性
               の
  – 個人情報は最も重要な資産
    個人情報は   重要な
  – インフラ技術を保持し続けることの重要性
    インフラ技術を保持し けることの重要性
        技術
• Private にも
          にもPublic並みの機能性が必要
                  並みの機能性
                     機能性が
  – 汎用的ではなく、楽天の開発に特化したもの
    汎用的ではなく、楽天の開発に特化したもの
       ではなく

     Public Cloud                       Private Cloud



                         同じ機能性
なぜCloudFoundryなのか

• オープンソース
• IaaSとの完全な分離
      との完全な
      との完全
• 拡張性の高いアーキテクチャー
  拡張性の
• 対応言語の多さ
  対応言語の
オープンソース

• Privateで利用できる、数少ないオープンなPaaSプラットフォーム
         で利用できる、数少ないオープンな
            できる   ないオープン     プラットフォーム

• コアな技術を自社でコントロールできる
  コアな技術を自社でコントロールできる
  – 自分達を製品に合わせるのではなく、製品を自分達に合わせる
    自分達を製品に わせるのではなく、製品を自分達に




        CloudFoundryソースレポジトリ
IaaSとの完全な分離



• IaaSレイヤーを自由に選択できる
      レイヤーを自由に選択できる
      レイヤー
   – VMware vSphere以外でも動作可能
                   以外でも
                   以外でも動作可能
  – 将来的にHybridCloud化も視野に
    将来的に           化 視野に



              Rakuten PaaS Cloud

                Cloud Foundry
                                   Public
     VMware    Xen        KVM
                                   Cloud
拡張性の高いアーキテクチャ

• Kernelが明確に分離されている
         が明確に分離されている
• Serviceとして周辺機能を追加できる
         として周辺機能を追加できる
         として周辺機能
  – 社内のAPI接続や、独自のDB機能等をServiceとして 拡充予定
    社内の   接続や 独自の 機能等
          接続       機能等を       として



                         Service
                         MySQL

                         MongoDB
       CloudFoundry
          Kernel          Redis

                       Rakuten API

                      Rakuten DBaaS
対応言語の多さ


• 楽天では主にJava/PHP/Rubyでサービス開発を実施
  楽天では主
    では               でサービス開発
                          開発を
  ⇒PHPが追加されたことで、移行できるサービスが増加
      が追加されたことで 移行できるサービスが
         されたことで、  できるサービス
• JavaはSpring FrameworkベースでOpenPaaS対応も
      は                ベースで
                       ベース         対応も
                                   対応


       初期からの言語
       初期からの言語
         からの                追加された言語
                            追加された言語
                              された




                     +
楽天PaaSアーキテクチャー


     Cloud Foundry                                  PaaS Platform     自社開発

                                                      PaaS Admin
                                                         Tools

                                                      Log Manager


                                                     Authentication
                                                       Manager

                                                      Source Code
                                                      Management


                                                      ChargeBack
                                Rakuten API
                     DBaaS
                                 services


IaaS Platform
 IaaS Admin
                             Virtual Machine Pool
    Tools
CloudFoundryの課題


■まだ発展途上のプラットフォームである
 まだ発展途上のプラットフォームである
   発展途上

 • Kernelしかない
         しかない
   – Orchestrator(IaaS連携 等、足りない機能が多い
                 (    連携)等
                      連携    りない機能が
                               機能

 • シングルポイントが存在する
   シングルポイントが存在する
   – Message管理に障害が発生すると全体に影響
            管理に障害が発生すると全体に
            管理      すると全体

 • チーム開発ができない
   チーム開発ができない
      開発
   – 1アプリケーションに1アカウントが紐づいている
      アプリケーションに アカウント
      アプリケーション アカウントが

 • ログが保存されない
   ログが保存されない
   – 社内のログ保管ルールなどへの対応ができない
     社内のログ保管ルールなどへの対応ができない
          保管ルールなどへの対応

 • 認証系の機能が弱い
   認証系の機能が
   – 社内のアカウント認証機能と連携できない
     社内のアカウント認証機能と連携できない
             認証機能
CloudFoundryの課題をクリアするには


• 自らCloudFoundryを使いこなす姿勢が必要
                を いこなす姿勢
                      姿勢が
  – 修正パッチを作る
    修正パッチ
      パッチを
  – 不足している機能を準備する
    不足している機能 準備する
      している機能を


• 又は、Enterprise版CloudFoundryを待つ(2012年中
               版            を       年中?)
                                    年中




        弊社からの修正パッチ申請
今後のPaaS開発の方向性

• PaaS Cloudを2012年初頭に利用開始
            を    年初頭に
                 年初頭
• 機能の拡充を図りながら、グローバルな開発基盤として展開
  機能の拡充を りながら、グローバルな開発基盤として展開
                        として
                                                                         グローバル展開
                                                                         グローバル展開
                                                            言語毎SDK
                                                            言語毎SDK
                                                              整備


                                                                     楽天グループ内サービスの
                                                                     楽天グループ内サービスの
                                                                       グループ

           Private Beta
                                                                       マイグレーション

           Release
                                    開発・運用の
                                    開発・運用の自動化

                                                              Public
                                                              Release
                                selective auth repo patch
新HW/NWの
 HW/NWの                         multi-
                                multi-developer support.
            CloudFoundryの
            CloudFoundryの
  検証
                 改良             high availability for
                                message bus

                            central logging system
                            charge system
                            deploy & release
          楽天独自仕様の
          楽天独自仕様の
          インテグレーション         management
                            standard library
                            database as a service.
Conclusion

• 世界一のインターネット企業になるために、積極的な技術開発を推進する
  世界一のインターネット企業になるために、積極的な技術開発を推進する
               企業になるために
• その基盤となるCloudFoundryの発展に、今後も寄与していきたい
  その基盤となる
    基盤となる            の発展に 今後も寄与していきたい

• 一緒に世界を狙いたい方は、楽天採用ページからいつでもご応募ください!
  一緒に世界を いたい方  楽天採用ページからいつでもご応募ください!
                   ページからいつでもご応募ください
Thank You

More Related Content

楽天がCloud foundryを選んだ理由

  • 1. 楽天がCloudFoundryを選んだ理由 楽天が を んだ理由 楽天株式会社 DU グループインフラ構築・運用課 葉山 剛 2011/11/8
  • 2. アジェンダ • 楽天の紹介 楽天の • なぜ PaaS Cloudなのか なのか • なぜ なぜCloudFoundryなのか なのか • 楽天のシステム開発の方向性 楽天のシステム開発の 開発
  • 4. 楽天の紹介 • グループ社員数 7000人 グループ社員数 約7000人 • 市場・トラベルをはじめ 40以上 サービスを をはじめ、 以上の 市場・トラベルをはじめ、40以上のサービスを提供 • 8000万件以上 市場登録商品数 8000万件以上 • グループ流通額 2.6兆円 グループ流通額 2.6兆円 グループ流通額 グループ流通額 (単位 億円 単位:10億円 単位 億円) Edy及びクレジットカード決済額 楽天市場 Eコマース及びトラベル
  • 5. 楽天の海外展開 • 海外 ヶ国に進出 海外10ヶ • 将来的には ヶ国以上に進出、グローバル化を加速 将来的には20ヶ国以上に進出、グローバル化 には England Germany Brazil
  • 6. グローバルにおける楽天のポジション ユニークビジター数による小売/オークションサイト グローバルランキング 2011 (単位:千人) 出典: comScore Media Metrics 世界一のインターネット企業になるには、技術開発でもトップを 世界一のインターネット企業になるには、技術開発でもトップを 企業になるには でもトップ 目指す必要がある 目指す必要がある
  • 7. 楽天の開発体制 • 日本国内に1000人以上 (外国籍が2割以上) 日本国内に 人以上 外国籍が 割以上 割以上) • 年間約1000件の開発プロジェクト 年間約 件 開発プロジェクト • 短いものでは数日で起案・開発・リリース いものでは数日 起案・開発・ 数日で • 開発・運用のほとんどが内製 開発・運用のほとんどが のほとんどが内製
  • 8. Private IaaSクラウドの展開 • 2010年後半から、IaaS Cloudを利用開始 年後半から 年後半から、 を • 1000台以上の仮想マシンが稼動中(開発環境を含む) 台以上の 台以上 仮想マシン マシンが 開発環境を 開発環境 • 構築リードタイムの短縮と、機器集約によるコスト削減を実現 構築リードタイム 短縮と 機器集約によるコスト削減 リードタイムの によるコスト削減を 楽天IaaSクラウドのVM数推移(2011年)
  • 9. 楽天IaaSクラウドでの課題 • 分業体制が温存される 分業体制が温存される – アプリケーションはアプリエンジニア アプリケーションは – OS/ミドルウェアはインフラエンジニア ミドルウェアは ミドルウェア リリース アプリエンジニア したい 設定は 設定は? 役割分担 の境界 アプリケーション アプリケーション ミドルウェア ミドルウェア インフラエンジニア OS OS IaaSサーバー サーバー 物理サーバー 物理サーバー コミュニケーション工数が発生し コミュニケーション工数が発生し続ける 工数
  • 10. PaaSクラウド導入の目的 • 不要なコミュニケーションを減らして、開発スピードを上げる 不要なコミュニケーションを らして、開発スピード スピードを • IaaS以上にリソース変更を容易にする 以上にリソース変更を容易にする 以上 変更 • 導入時にシステムの標準化を進めて、全体的な開発効率を上げる 導入時にシステムの標準化を めて、全体的な開発効率を サービス開発に サービス開発に専念 開発 役割分担 アプリエンジニア の境界 インフラを意識せず利用 インフラを意識せず利用 せず プラットフォーム運用に プラットフォーム運用に専念 運用 PaaS クラウド インフラエンジニア
  • 11. Private or Public • Private Cloudの必要性 の – 個人情報は最も重要な資産 個人情報は 重要な – インフラ技術を保持し続けることの重要性 インフラ技術を保持し けることの重要性 技術 • Private にも にもPublic並みの機能性が必要 並みの機能性 機能性が – 汎用的ではなく、楽天の開発に特化したもの 汎用的ではなく、楽天の開発に特化したもの ではなく Public Cloud Private Cloud 同じ機能性
  • 12. なぜCloudFoundryなのか • オープンソース • IaaSとの完全な分離 との完全な との完全 • 拡張性の高いアーキテクチャー 拡張性の • 対応言語の多さ 対応言語の
  • 13. オープンソース • Privateで利用できる、数少ないオープンなPaaSプラットフォーム で利用できる、数少ないオープンな できる ないオープン プラットフォーム • コアな技術を自社でコントロールできる コアな技術を自社でコントロールできる – 自分達を製品に合わせるのではなく、製品を自分達に合わせる 自分達を製品に わせるのではなく、製品を自分達に CloudFoundryソースレポジトリ
  • 14. IaaSとの完全な分離 • IaaSレイヤーを自由に選択できる レイヤーを自由に選択できる レイヤー – VMware vSphere以外でも動作可能 以外でも 以外でも動作可能 – 将来的にHybridCloud化も視野に 将来的に 化 視野に Rakuten PaaS Cloud Cloud Foundry Public VMware Xen KVM Cloud
  • 15. 拡張性の高いアーキテクチャ • Kernelが明確に分離されている が明確に分離されている • Serviceとして周辺機能を追加できる として周辺機能を追加できる として周辺機能 – 社内のAPI接続や、独自のDB機能等をServiceとして 拡充予定 社内の 接続や 独自の 機能等 接続 機能等を として Service MySQL MongoDB CloudFoundry Kernel Redis Rakuten API Rakuten DBaaS
  • 16. 対応言語の多さ • 楽天では主にJava/PHP/Rubyでサービス開発を実施 楽天では主 では でサービス開発 開発を ⇒PHPが追加されたことで、移行できるサービスが増加 が追加されたことで 移行できるサービスが されたことで、 できるサービス • JavaはSpring FrameworkベースでOpenPaaS対応も は ベースで ベース 対応も 対応 初期からの言語 初期からの言語 からの 追加された言語 追加された言語 された +
  • 17. 楽天PaaSアーキテクチャー Cloud Foundry PaaS Platform 自社開発 PaaS Admin Tools Log Manager Authentication Manager Source Code Management ChargeBack Rakuten API DBaaS services IaaS Platform IaaS Admin Virtual Machine Pool Tools
  • 18. CloudFoundryの課題 ■まだ発展途上のプラットフォームである まだ発展途上のプラットフォームである 発展途上 • Kernelしかない しかない – Orchestrator(IaaS連携 等、足りない機能が多い ( 連携)等 連携 りない機能が 機能 • シングルポイントが存在する シングルポイントが存在する – Message管理に障害が発生すると全体に影響 管理に障害が発生すると全体に 管理 すると全体 • チーム開発ができない チーム開発ができない 開発 – 1アプリケーションに1アカウントが紐づいている アプリケーションに アカウント アプリケーション アカウントが • ログが保存されない ログが保存されない – 社内のログ保管ルールなどへの対応ができない 社内のログ保管ルールなどへの対応ができない 保管ルールなどへの対応 • 認証系の機能が弱い 認証系の機能が – 社内のアカウント認証機能と連携できない 社内のアカウント認証機能と連携できない 認証機能
  • 19. CloudFoundryの課題をクリアするには • 自らCloudFoundryを使いこなす姿勢が必要 を いこなす姿勢 姿勢が – 修正パッチを作る 修正パッチ パッチを – 不足している機能を準備する 不足している機能 準備する している機能を • 又は、Enterprise版CloudFoundryを待つ(2012年中 版 を 年中?) 年中 弊社からの修正パッチ申請
  • 20. 今後のPaaS開発の方向性 • PaaS Cloudを2012年初頭に利用開始 を 年初頭に 年初頭 • 機能の拡充を図りながら、グローバルな開発基盤として展開 機能の拡充を りながら、グローバルな開発基盤として展開 として グローバル展開 グローバル展開 言語毎SDK 言語毎SDK 整備 楽天グループ内サービスの 楽天グループ内サービスの グループ Private Beta マイグレーション Release 開発・運用の 開発・運用の自動化 Public Release selective auth repo patch 新HW/NWの HW/NWの multi- multi-developer support. CloudFoundryの CloudFoundryの 検証 改良 high availability for message bus central logging system charge system deploy & release 楽天独自仕様の 楽天独自仕様の インテグレーション management standard library database as a service.
  • 21. Conclusion • 世界一のインターネット企業になるために、積極的な技術開発を推進する 世界一のインターネット企業になるために、積極的な技術開発を推進する 企業になるために • その基盤となるCloudFoundryの発展に、今後も寄与していきたい その基盤となる 基盤となる の発展に 今後も寄与していきたい • 一緒に世界を狙いたい方は、楽天採用ページからいつでもご応募ください! 一緒に世界を いたい方 楽天採用ページからいつでもご応募ください! ページからいつでもご応募ください