狠狠撸

狠狠撸Share a Scribd company logo
Ruby which
     Supports Social
     Platform
         ソーシャルプラットフォームを支えるRuby



  Koichiro Ohba                       Development Department
  大場光一郎                                     Development Platform
  2012-11-09; RubyWorld Conference 2012; Kunibiki Messe
                                                        GREE, inc.
12年11月9日金曜日
12年11月9日金曜日
Making the world a better place
  through the power of the Internet.




12年11月9日金曜日
12年11月9日金曜日
11 branches in the world


               Amsterdam                  Vancouver
   London                          Seoul
                          Beijing      Tokyo
                                  Osaka      San Francisco
                  Dubai

                    Singapore


                                                       S?o Paulo




12年11月9日金曜日
12年11月9日金曜日
テキスト


              http://developer.gree.net/sp/globalplatform/en/products/


12年11月9日金曜日
It s a social platform
              supporting 1 billion people
              in the world.

              世界10億人に対応するソーシャル
              プラットフォームです。




12年11月9日金曜日
M
                               Social API




                                                  id
                                                     dl
                               Web Service




                                                     ew
                               Node




                                                          ar
                                                          e
                                               GREE
              App Portal
              Web Platform   GREE Platform     Platform
                                               SDK
                                Stream
                                Social Graph
                                Community
                                Auth




12年11月9日金曜日
Uni?ed SDK/API enables
              delivery of applications
              to users in 169 countries.

              統一されたSDK/APIにより、1
              度の開発で最大169の国および地
              域のユーザーにアプリケーション
              を配信できます。


12年11月9日金曜日
テキスト




12年11月9日金曜日
http://product.gree.net/jp/ja/apps/
12年11月9日金曜日
GREE Platform



12年11月9日金曜日
Over 1 billion
                  users
              10億ユーザーを支えるプラットフォーム




12年11月9日金曜日
GREE is build on
                        Open Source




          Powered by




12年11月9日金曜日
1. Server Dashboard + API
              2. Server Con?guration Management
              3. DNS : Bind/PrimDNS(original)
              4. Load Balancer
              5. App Server
              6. KVS
              7. Large Object Storage
              8. Messaging Queue
              9. Full Text Search
              10.Monitoring / Alerts
              11.Deployment
              12.Analytics

12年11月9日金曜日
1. Server Dashboard + API
              4. Load Balancer
              5. App Server
          11. Deployment

                                   Ruby
                                  inside



12年11月9日金曜日
Server
              Dashboard
12年11月9日金曜日
Manage many servers
               たくさんのサーバを管理




12年11月9日金曜日
サーバ属性管理
              ? OS/CPU spec
              ? サーバ役割
              ? 場所(DC,ラック)
              ? IP/名前
              ? サーバ初期化、構成変更
              ? 状態、負荷監視(Ganglia)
12年11月9日金曜日
12年11月9日金曜日
12年11月9日金曜日
12年11月9日金曜日
http://api/product_id/servers



         {“results”	
 ?=>
         	
 ?	
 ?[{“property”	
 ?=>
         	
 ?{“server_type”	
 ?=>	
 ?“DB”,
         	
 ?	
 ?“ipaddr”	
 ?=>	
 ?“XX.XX.XX.XX”,
                                  テキスト
         	
 ?	
 ?“hardware”	
 ?=>	
 ?“Intel	
 ?Xeon	
 ?2.6Ghz”,
         	
 ?	
 ?...
         	
 ?	
 ?}
         }

12年11月9日金曜日
Server
              Dashboardの利点


12年11月9日金曜日
Servers have
              many purposes

              サーバの役割


12年11月9日金曜日
标準构成

                           Proxy             Web
              LVS   (Apache+mod_proxy)   (Apache+PHP)




12年11月9日金曜日
Web


                    Proxy   Web


                            Web


              LVS
                            Web


                    Proxy   Web



              LVS           Web

12年11月9日金曜日
Deployment



12年11月9日金曜日
gree_deploy

                        Ruby
                       inside



12年11月9日金曜日
Why we don t
          use Capistrano?
              なぜCapistranoを使わないのか




12年11月9日金曜日
たとえそれが车轮の再発
         明であっても構わない。何
         でもやったほうがいいと思
            うんですよね
          You should do whatever you want,
         even if it s reinvention of the wheel

                                                Matz at 札幌Ruby会議2012




http://www.?ickr.com/photos/recompile_net/5952565740/

12年11月9日金曜日
ひとつのプロダクト
         で複数のgitリポジト
         リを使いたい

12年11月9日金曜日
Live Update

              サービスを稼働した
                まま更新する


12年11月9日金曜日
Deploy             Web


                         Proxy   Web


                                 Web


                   LVS
                                 Web


                         Proxy   Web


                   LVS           Web

12年11月9日金曜日
Deploy             Web


                         Proxy         Web


                                 Web


                   LVS
                                 Web


                         Proxy         Web


                   LVS           Web

12年11月9日金曜日
Deploy             Web


                         Proxy         Web


                                 Web


                   LVS
                                 Web


                         Proxy         Web


                   LVS           Web

12年11月9日金曜日
Get the target servers list and make part of them in-
        active and deploy the application there.

         APIから必要な役割のサー
         バリストを取得し、一部の
         サーバをサービスアウトし
         て配る


12年11月9日金曜日
gree_deploy         Dashboard    Proxy    Web

                             Collect
                   Deploy
                    Dist.


                                        Enable/
          Proxy Control
                                        Disable

              Deploy
      Worker
       Worker
         Worker                                   Restart
           Worker


12年11月9日金曜日
require	
 ?'gree/server'

   servers	
 ?=	
 ?GREE::Server.find({
   	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?'virtual_server_name'	
 ?=>	
 ?'ds%',
   	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?'type'	
 ?	
 ?	
 ?	
 ?=>	
 ?'master',
   	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?'service'	
 ?=>	
 ?'mail',
   	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?	
 ?'state'	
 ?	
 ?	
 ?=>	
 ?'on_service',
   })




12年11月9日金曜日
gem i gree-rubylib



12年11月9日金曜日
Improvement




12年11月9日金曜日
Deployment
                 Flow


12年11月9日金曜日
Deployment Pipeline


                            User acceptance
                                  test

     Commit   Acceptance
                                                          Production
      stage    test stage

                             Capacity test




                                gree_deploy

                             『継続的デリバリー』Jez Humble, David Farley著(ASCII)


12年11月9日金曜日
@release-open



                Test please


              @ok 0b70750bd
                                Staging




                                      Production
                  Deploy


               @release-close

12年11月9日金曜日
git-daily
              http://labs.gree.jp/blog/2011/05/3528/



12年11月9日金曜日
Ruby
                                                inside



              gem i git-daily
              https://github.com/koichiro/git-daily



12年11月9日金曜日
Ruby
                       inside

               JIRA KPI
               Package
              Management

12年11月9日金曜日
Open Source



12年11月9日金曜日
github.com/gree



12年11月9日金曜日
LWF
              Unity-*
               Flare
              Orion

12年11月9日金曜日
http://techtalk1.labs.gree.jp/
12年11月9日金曜日
まとめ
              Conclusion




12年11月9日金曜日
We are using Ruby than you expect to
         support GREE s systems.


       グリーのシステムを支
       えるための重要な道具
       としてRubyをつかっ
       ています
12年11月9日金曜日
Also using many other OSS.
                 We provide OSS too.


              Rubyの他にもたく
              さんのオープンソー
              スを使っているし、
               公開もします。
12年11月9日金曜日
PHP code can be replaced to Ruby if
       Ruby is better for the purpose.


         Rubyのほうが向い
         ている領域なら
         Rubyで書いちゃえ
         ばいい。
12年11月9日金曜日
http://jobs.gree.net/

12年11月9日金曜日

More Related Content

Ruby which Supports Social Platform

  • 1. Ruby which Supports Social Platform ソーシャルプラットフォームを支えるRuby Koichiro Ohba Development Department 大場光一郎 Development Platform 2012-11-09; RubyWorld Conference 2012; Kunibiki Messe GREE, inc. 12年11月9日金曜日
  • 3. Making the world a better place through the power of the Internet. 12年11月9日金曜日
  • 5. 11 branches in the world Amsterdam Vancouver London Seoul Beijing Tokyo Osaka San Francisco Dubai Singapore S?o Paulo 12年11月9日金曜日
  • 7. テキスト http://developer.gree.net/sp/globalplatform/en/products/ 12年11月9日金曜日
  • 8. It s a social platform supporting 1 billion people in the world. 世界10億人に対応するソーシャル プラットフォームです。 12年11月9日金曜日
  • 9. M Social API id dl Web Service ew Node ar e GREE App Portal Web Platform GREE Platform Platform SDK Stream Social Graph Community Auth 12年11月9日金曜日
  • 10. Uni?ed SDK/API enables delivery of applications to users in 169 countries. 統一されたSDK/APIにより、1 度の開発で最大169の国および地 域のユーザーにアプリケーション を配信できます。 12年11月9日金曜日
  • 14. Over 1 billion users 10億ユーザーを支えるプラットフォーム 12年11月9日金曜日
  • 15. GREE is build on Open Source Powered by 12年11月9日金曜日
  • 16. 1. Server Dashboard + API 2. Server Con?guration Management 3. DNS : Bind/PrimDNS(original) 4. Load Balancer 5. App Server 6. KVS 7. Large Object Storage 8. Messaging Queue 9. Full Text Search 10.Monitoring / Alerts 11.Deployment 12.Analytics 12年11月9日金曜日
  • 17. 1. Server Dashboard + API 4. Load Balancer 5. App Server 11. Deployment Ruby inside 12年11月9日金曜日
  • 18. Server Dashboard 12年11月9日金曜日
  • 19. Manage many servers たくさんのサーバを管理 12年11月9日金曜日
  • 20. サーバ属性管理 ? OS/CPU spec ? サーバ役割 ? 場所(DC,ラック) ? IP/名前 ? サーバ初期化、構成変更 ? 状態、負荷監視(Ganglia) 12年11月9日金曜日
  • 24. http://api/product_id/servers {“results” ?=> ? ?[{“property” ?=> ?{“server_type” ?=> ?“DB”, ? ?“ipaddr” ?=> ?“XX.XX.XX.XX”, テキスト ? ?“hardware” ?=> ?“Intel ?Xeon ?2.6Ghz”, ? ?... ? ?} } 12年11月9日金曜日
  • 25. Server Dashboardの利点 12年11月9日金曜日
  • 26. Servers have many purposes サーバの役割 12年11月9日金曜日
  • 27. 标準构成 Proxy Web LVS (Apache+mod_proxy) (Apache+PHP) 12年11月9日金曜日
  • 28. Web Proxy Web Web LVS Web Proxy Web LVS Web 12年11月9日金曜日
  • 30. gree_deploy Ruby inside 12年11月9日金曜日
  • 31. Why we don t use Capistrano? なぜCapistranoを使わないのか 12年11月9日金曜日
  • 32. たとえそれが车轮の再発 明であっても構わない。何 でもやったほうがいいと思 うんですよね You should do whatever you want, even if it s reinvention of the wheel Matz at 札幌Ruby会議2012 http://www.?ickr.com/photos/recompile_net/5952565740/ 12年11月9日金曜日
  • 33. ひとつのプロダクト で複数のgitリポジト リを使いたい 12年11月9日金曜日
  • 34. Live Update サービスを稼働した まま更新する 12年11月9日金曜日
  • 35. Deploy Web Proxy Web Web LVS Web Proxy Web LVS Web 12年11月9日金曜日
  • 36. Deploy Web Proxy Web Web LVS Web Proxy Web LVS Web 12年11月9日金曜日
  • 37. Deploy Web Proxy Web Web LVS Web Proxy Web LVS Web 12年11月9日金曜日
  • 38. Get the target servers list and make part of them in- active and deploy the application there. APIから必要な役割のサー バリストを取得し、一部の サーバをサービスアウトし て配る 12年11月9日金曜日
  • 39. gree_deploy Dashboard Proxy Web Collect Deploy Dist. Enable/ Proxy Control Disable Deploy Worker Worker Worker Restart Worker 12年11月9日金曜日
  • 40. require ?'gree/server' servers ?= ?GREE::Server.find({ ? ? ? ? ? ? ? ?'virtual_server_name' ?=> ?'ds%', ? ? ? ? ? ? ? ?'type' ? ? ? ?=> ?'master', ? ? ? ? ? ? ? ?'service' ?=> ?'mail', ? ? ? ? ? ? ? ?'state' ? ? ?=> ?'on_service', }) 12年11月9日金曜日
  • 43. Deployment Flow 12年11月9日金曜日
  • 44. Deployment Pipeline User acceptance test Commit Acceptance Production stage test stage Capacity test gree_deploy 『継続的デリバリー』Jez Humble, David Farley著(ASCII) 12年11月9日金曜日
  • 45. @release-open Test please @ok 0b70750bd Staging Production Deploy @release-close 12年11月9日金曜日
  • 46. git-daily http://labs.gree.jp/blog/2011/05/3528/ 12年11月9日金曜日
  • 47. Ruby inside gem i git-daily https://github.com/koichiro/git-daily 12年11月9日金曜日
  • 48. Ruby inside JIRA KPI Package Management 12年11月9日金曜日
  • 51. LWF Unity-* Flare Orion 12年11月9日金曜日
  • 53. まとめ Conclusion 12年11月9日金曜日
  • 54. We are using Ruby than you expect to support GREE s systems. グリーのシステムを支 えるための重要な道具 としてRubyをつかっ ています 12年11月9日金曜日
  • 55. Also using many other OSS. We provide OSS too. Rubyの他にもたく さんのオープンソー スを使っているし、 公開もします。 12年11月9日金曜日
  • 56. PHP code can be replaced to Ruby if Ruby is better for the purpose. Rubyのほうが向い ている領域なら Rubyで書いちゃえ ばいい。 12年11月9日金曜日