20090717 ruby kaigi lightning talk

34
Wakame でででで Rails ででででででで 株株株株株株株株 株株株株

Upload: axsh-co-ltd

Post on 15-May-2015

2.208 views

Category:

Technology


1 download

DESCRIPTION

Wakame is an Open Source Project in Ruby to control servers on Amazon EC2.

TRANSCRIPT

Page 1: 20090717  Ruby Kaigi  Lightning Talk

Wakame で手軽にRails を大規模化す

る株式会社あくしゅ

山崎泰宏

Page 2: 20090717  Ruby Kaigi  Lightning Talk

例えばこんな話!

Page 3: 20090717  Ruby Kaigi  Lightning Talk

ある日突然僕のサイトにたくさんの人が来た

Page 4: 20090717  Ruby Kaigi  Lightning Talk

あっさり

キャパシティオーバー

Page 5: 20090717  Ruby Kaigi  Lightning Talk

ボスが怒ってる!「なんとかしろ!」

Page 6: 20090717  Ruby Kaigi  Lightning Talk

「えっ?!」

Page 7: 20090717  Ruby Kaigi  Lightning Talk

急に言われても、

今いっぱいいっぱいです…

Page 8: 20090717  Ruby Kaigi  Lightning Talk
Page 9: 20090717  Ruby Kaigi  Lightning Talk

「…や、やります」

Page 10: 20090717  Ruby Kaigi  Lightning Talk

「明日の朝までにな!」

Page 11: 20090717  Ruby Kaigi  Lightning Talk

Page 12: 20090717  Ruby Kaigi  Lightning Talk

急にスケールアウトしとけとか言われて泣きそうになったこと、ありませんか?

Page 13: 20090717  Ruby Kaigi  Lightning Talk

間に合わないからAmazon EC2 にしよう!

Page 14: 20090717  Ruby Kaigi  Lightning Talk

これで仮想マシンの調達が

自動化できちゃう!

けど!

Page 15: 20090717  Ruby Kaigi  Lightning Talk

セットアップは手動なのか?!

俺がやんの?

Page 16: 20090717  Ruby Kaigi  Lightning Talk

2009/6/26 Ver. 0.4 Release

# gem install wakame

セットアップも自動化すべき!

Page 17: 20090717  Ruby Kaigi  Lightning Talk

# wakameadm propagate_service \ Wakame::Service::Apache_APP 10

Rails (passenger) を

10個増やす!

Page 18: 20090717  Ruby Kaigi  Lightning Talk

# wakameadm propagate_service \ Wakame::Service::MySQL_Slave 3

MySQL レプリケーションも3個追加する!

Page 19: 20090717  Ruby Kaigi  Lightning Talk

あと見てるだけ

Page 20: 20090717  Ruby Kaigi  Lightning Talk

Load Balanc

er

Load Balanc

er

MySQLSlave

Static Passenger

MySQLSlave

MySQLSlave

PassengerPassenger

MySQL Master

Rails が増える!

MySQL が増える!

大規模化する… !

Page 21: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIs

Amazon S3

Amazon Machine Image

Amazon EC2

Amazon Management Console / Elasticfox

Wakame はどのように増えるか ?

Page 22: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

Wakame をインストールしておく(1/7)

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIsマシン起動

Wakame

Page 23: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

マシンイメージを起動する (2/7)

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIs

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

インスタンスの起動

Page 24: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

Master は Agent に指示をする (3/7)

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIs

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

サービス起動指示

サービス起動

Page 25: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

スケールアウトしろ! (4/7)

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIs

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

スケールアウト計画の指示

Page 26: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

Master から新インスタンスを要求(5/7)

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIs

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

マシン起動

Page 27: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

新しい Agent が登場 (6/7)

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIs

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

インスタンスの起動

Page 28: 20090717  Ruby Kaigi  Lightning Talk

Storage

Machine Image

File

新 Agent 経由でセットアップ (7/7)

Master

Agent

Server + XenOther

s(Web+DB+etc.)

Server + XenServer + Xen

Web APIs

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

Machine Image

File

Master

Agent

Others

(Web+DB+etc.)

サービス起動指示

サービス起動

Page 29: 20090717  Ruby Kaigi  Lightning Talk

いまどき

ソフトウェアは最初から

スケールアウト可能なように

書くのが当たり前です!

しかし!

Page 30: 20090717  Ruby Kaigi  Lightning Talk

大規模サイトの運用まで経験した人は数少ない!

珍獣

Page 31: 20090717  Ruby Kaigi  Lightning Talk

混ぜてみよう

Page 32: 20090717  Ruby Kaigi  Lightning Talk

Wakame まとめLet’s 実験 ,

be 珍獣Rails を大規模化できる

手軽に

Page 33: 20090717  Ruby Kaigi  Lightning Talk

Photo copyrights

http://www.flickr.com/photos/fotoosvanrobin/3644415777/http://www.flickr.com/photos/zadeus/345628105/http://www.flickr.com/photos/janramroth/2596734632/http://www.flickr.com/photos/smailtronic/506742200/http://www.flickr.com/photos/66164549@N00/2093219011/http://www.flickr.com/photos/gillesgonthier/2158761836/http://www.flickr.com/photos/tscherno/1439629882/http://www.flickr.com/photos/55638925@N00/2386548957/http://www.flickr.com/photos/mscheltgen/56521788/http://www.flickr.com/photos/falsepositives/2862982252/http://www.flickr.com/photos/tsackett/8664708/http://www.flickr.com/photos/a_mason/3993146/http://www.flickr.com/photos/smatkins/2233167722/http://www.flickr.com/photos/rhouse/1679839435/

Creative Commons - Attribution-Share Alike 2.0 Generic

Page 34: 20090717  Ruby Kaigi  Lightning Talk

分散テクノロジグループ山崎泰宏 ([email protected] / @sparklegate)藤原勝弘 ([email protected])吉田将士 ([email protected])三上悟  ([email protected])

http://github.com/axsh/wakame/