Ruby which Supports Social Platform

2,138 views

Published on

GREE Platform is a large social platform on which worldwide users can play games with each other.
It's developed by PHP, but Ruby is also used, especially in DevOpts.
I'll talk about how we are using Ruby.

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total views
2,138
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
3
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Ruby which Supports Social Platform

  1. 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日金曜日
  2. 2. 12年11月9日金曜日
  3. 3. Making the world a better place through the power of the Internet.12年11月9日金曜日
  4. 4. 12年11月9日金曜日
  5. 5. 11 branches in the world Amsterdam Vancouver London Seoul Beijing Tokyo Osaka San Francisco Dubai Singapore São Paulo12年11月9日金曜日
  6. 6. 12年11月9日金曜日
  7. 7. テキスト http://developer.gree.net/sp/globalplatform/en/products/12年11月9日金曜日
  8. 8. It s a social platform supporting 1 billion people in the world. 世界10億人に対応するソーシャル プラットフォームです。12年11月9日金曜日
  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 Auth12年11月9日金曜日
  10. 10. Unified SDK/API enables delivery of applications to users in 169 countries. 統一されたSDK/APIにより、1 度の開発で最大169の国および地 域のユーザーにアプリケーション を配信できます。12年11月9日金曜日
  11. 11. テキスト12年11月9日金曜日
  12. 12. http://product.gree.net/jp/ja/apps/12年11月9日金曜日
  13. 13. GREE Platform12年11月9日金曜日
  14. 14. Over 1 billion users 10億ユーザーを支えるプラットフォーム12年11月9日金曜日
  15. 15. GREE is build on Open Source Powered by12年11月9日金曜日
  16. 16. 1. Server Dashboard + API 2. Server Configuration 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.Analytics12年11月9日金曜日
  17. 17. 1. Server Dashboard + API 4. Load Balancer 5. App Server 11. Deployment Ruby inside12年11月9日金曜日
  18. 18. Server Dashboard12年11月9日金曜日
  19. 19. Manage many servers たくさんのサーバを管理12年11月9日金曜日
  20. 20. サーバ属性管理 • OS/CPU spec • サーバ役割 • 場所(DC,ラック) • IP/名前 • サーバ初期化、構成変更 • 状態、負荷監視(Ganglia)12年11月9日金曜日
  21. 21. 12年11月9日金曜日
  22. 22. 12年11月9日金曜日
  23. 23. 12年11月9日金曜日
  24. 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. 25. Server Dashboardの利点12年11月9日金曜日
  26. 26. Servers have many purposes サーバの役割12年11月9日金曜日
  27. 27. 標準構成 Proxy Web LVS (Apache+mod_proxy) (Apache+PHP)12年11月9日金曜日
  28. 28. Web Proxy Web Web LVS Web Proxy Web LVS Web12年11月9日金曜日
  29. 29. Deployment12年11月9日金曜日
  30. 30. gree_deploy Ruby inside12年11月9日金曜日
  31. 31. Why we don t use Capistrano? なぜCapistranoを使わないのか12年11月9日金曜日
  32. 32. たとえそれが車輪の再発 明であっても構わない。何 でもやったほうがいいと思 うんですよね You should do whatever you want, even if it s reinvention of the wheel Matz at 札幌Ruby会議2012http://www.flickr.com/photos/recompile_net/5952565740/12年11月9日金曜日
  33. 33. ひとつのプロダクト で複数のgitリポジト リを使いたい12年11月9日金曜日
  34. 34. Live Update サービスを稼働した まま更新する12年11月9日金曜日
  35. 35. Deploy Web Proxy Web Web LVS Web Proxy Web LVS Web12年11月9日金曜日
  36. 36. Deploy Web Proxy Web Web LVS Web Proxy Web LVS Web12年11月9日金曜日
  37. 37. Deploy Web Proxy Web Web LVS Web Proxy Web LVS Web12年11月9日金曜日
  38. 38. Get the target servers list and make part of them in- active and deploy the application there. APIから必要な役割のサー バリストを取得し、一部の サーバをサービスアウトし て配る12年11月9日金曜日
  39. 39. gree_deploy Dashboard Proxy Web Collect Deploy Dist. Enable/ Proxy Control Disable Deploy Worker Worker Worker Restart Worker12年11月9日金曜日
  40. 40. require  gree/server servers  =  GREE::Server.find({                virtual_server_name  =>  ds%,                type        =>  master,                service  =>  mail,                state      =>  on_service, })12年11月9日金曜日
  41. 41. gem i gree-rubylib12年11月9日金曜日
  42. 42. Improvement12年11月9日金曜日
  43. 43. Deployment Flow12年11月9日金曜日
  44. 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. 45. @release-open Test please @ok 0b70750bd Staging Production Deploy @release-close12年11月9日金曜日
  46. 46. git-daily http://labs.gree.jp/blog/2011/05/3528/12年11月9日金曜日
  47. 47. Ruby inside gem i git-daily https://github.com/koichiro/git-daily12年11月9日金曜日
  48. 48. Ruby inside JIRA KPI Package Management12年11月9日金曜日
  49. 49. Open Source12年11月9日金曜日
  50. 50. github.com/gree12年11月9日金曜日
  51. 51. LWF Unity-* Flare Orion12年11月9日金曜日
  52. 52. http://techtalk1.labs.gree.jp/12年11月9日金曜日
  53. 53. まとめ Conclusion12年11月9日金曜日
  54. 54. We are using Ruby than you expect to support GREE s systems. グリーのシステムを支 えるための重要な道具 としてRubyをつかっ ています12年11月9日金曜日
  55. 55. Also using many other OSS. We provide OSS too. Rubyの他にもたく さんのオープンソー スを使っているし、 公開もします。12年11月9日金曜日
  56. 56. PHP code can be replaced to Ruby if Ruby is better for the purpose. Rubyのほうが向い ている領域なら Rubyで書いちゃえ ばいい。12年11月9日金曜日
  57. 57. http://jobs.gree.net/12年11月9日金曜日

×