Ruby which Supports Social Platform2012.rubyworld-conf.org/files/slides/rwc2012_B-3.pdfRuby which...

Post on 10-Oct-2020

0 views 0 download

Transcript of Ruby which Supports Social Platform2012.rubyworld-conf.org/files/slides/rwc2012_B-3.pdfRuby which...

Ruby which Supports Social Platform

Development DepartmentDevelopment Platform

GREE, inc.

ソーシャルプラットフォームを支えるRuby

Koichiro Ohba大場光一郎2012-11-09; RubyWorld Conference 2012; Kunibiki Messe

12年11月9日金曜日

12年11月9日金曜日

���������������������

Making the world a better placethrough the power of the Internet.

12年11月9日金曜日

12年11月9日金曜日

San Francisco�

São Paulo

Vancouver�London �

Tokyo �Beijing �

Singapore �

Amsterdam�Seoul�

Dubai�Osaka�

11 branches in the world

12年11月9日金曜日

12年11月9日金曜日

テキスト

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

12年11月9日金曜日

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

It’s a social platform supporting 1 billion people in the world.

12年11月9日金曜日

GREE PlatformStreamSocial GraphCommunityAuth

App PortalWeb Platform

GREEPlatformSDK

Social APIWeb ServiceNode

Middleware

12年11月9日金曜日

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

Unified SDK/API enables delivery of applications to users in 169 countries.

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 onOpen Source

Powered by

12年11月9日金曜日

1.Server Dashboard + API2.Server Configuration Management3.DNS : Bind/PrimDNS(original)4. Load Balancer5.App Server6.KVS7.Large Object Storage8.Messaging Queue9.Full Text Search10.Monitoring / Alerts11.Deployment12.Analytics

12年11月9日金曜日

1. Server Dashboard + API

11. Deployment

4. Load Balancer5. App Server

Rubyinside

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日金曜日

LVS Proxy(Apache+mod_proxy)

Web(Apache+PHP)

標準構成

12年11月9日金曜日

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

WebLVS

12年11月9日金曜日

Deployment

12年11月9日金曜日

gree_deploy

Rubyinside

12年11月9日金曜日

Why we don’t use Capistrano?なぜCapistranoを使わないのか

12年11月9日金曜日

“たとえそれが車輪の再発明であっても構わない。何でもやったほうがいいと思

うんですよね”

Matz at 札幌Ruby会議2012

http://www.flickr.com/photos/recompile_net/5952565740/

“You should do whatever you want, even if it’s reinvention of the wheel”

12年11月9日金曜日

ひとつのプロダクトで複数のgitリポジトリを使いたい

12年11月9日金曜日

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

Live Update

12年11月9日金曜日

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

WebLVS

Deploy

12年11月9日金曜日

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

WebLVS

Deploy

12年11月9日金曜日

LVS

Proxy

Web

Proxy

Web

Web

Web

Web

WebLVS

Deploy

12年11月9日金曜日

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

Get the target servers list and make part of them in-active and deploy the application there.

12年11月9日金曜日

gree_deploy Dashboard Web

Collect

Proxy Control

Deploy

Proxy

Enable/Disable

WorkerWorkerWorkerWorker Restart

DeployDist.

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日金曜日

DeploymentFlow

12年11月9日金曜日

Commit stage

Capacity test

User acceptance test

Acceptance test stage Production

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

Deployment Pipeline

gree_deploy

12年11月9日金曜日

@release-open

Staging

Test please

@ok 0b70750bd

@release-close

DeployProduction

12年11月9日金曜日

git-dailyhttp://labs.gree.jp/blog/2011/05/3528/

12年11月9日金曜日

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

Rubyinside

12年11月9日金曜日

JIRA KPIPackage

Management

Rubyinside

12年11月9日金曜日

Open Source

12年11月9日金曜日

github.com/gree

12年11月9日金曜日

LWFUnity-*FlareOrion

12年11月9日金曜日

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

まとめConclusion

12年11月9日金曜日

グリーのシステムを支えるための重要な道具としてRubyをつかっています

We are using Ruby than you expect to support GREE’s systems.

12年11月9日金曜日

Rubyの他にもたくさんのオープンソースを使っているし、公開もします。

Also using many other OSS. We provide OSS too.

12年11月9日金曜日

Rubyのほうが向いている領域ならRubyで書いちゃえばいい。

PHP code can be replaced to Ruby if Ruby is better for the purpose.

12年11月9日金曜日

http://jobs.gree.net/

12年11月9日金曜日