20090717 Ruby Kaigi Lightning Talk

2,345
-1

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,345
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20090717 Ruby Kaigi Lightning Talk

  1. 1. Wakameで手軽にRailsを大規模化する<br />株式会社あくしゅ<br />山崎泰宏<br />
  2. 2. !<br />例えばこんな話<br />
  3. 3. ある日突然<br />僕のサイトにたくさんの人が来た<br />
  4. 4. あっさり<br />キャパシティオーバー<br />
  5. 5. ボスが怒ってる!<br />「なんとかしろ!」 <br />
  6. 6. 「えっ?!」<br />
  7. 7. 急に言われても、今いっぱいいっぱいです…<br />
  8. 8.
  9. 9. 「…や、やります」<br />
  10. 10. 「明日の朝までにな!」<br />
  11. 11. !<br />
  12. 12. 急にスケールアウトしとけとか言われて泣きそうになったこと、ありませんか?<br />
  13. 13. 間に合わないから<br />Amazon EC2にしよう!<br />
  14. 14. これで仮想マシンの調達が自動化できちゃう!<br />けど!<br />
  15. 15. セットアップは手動なのか?!<br />俺がやんの?<br />
  16. 16. セットアップも自動化すべき!<br />2009/6/26 Ver. 0.4 Release<br /># gem install wakame<br />
  17. 17. Rails (passenger) を10個増やす!<br /># wakameadmpropagate_service <br />Wakame::Service::Apache_APP 10<br />
  18. 18. MySQLレプリケーションも3個追加する!<br /># wakameadmpropagate_service <br />Wakame::Service::MySQL_Slave 3<br />
  19. 19. あと見てるだけ<br />
  20. 20. Railsが増える!<br />Load Balancer<br />MySQLが増える!<br />Static<br />Passenger<br />Passenger<br />Passenger<br />Load Balancer<br />MySQL Master<br />MySQL<br />Slave<br />MySQL<br />Slave<br />MySQL<br />Slave<br />大規模化する…!<br />
  21. 21. Amazon S3<br />Storage<br />Machine Image File<br />Amazon Machine Image<br />Master<br />Agent<br />Amazon EC2<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />Amazon Management Console / Elasticfox<br />Wakameはどのように増えるか?<br />
  22. 22. Storage<br />Machine Image File<br />Wakameをインストールしておく(1/7)<br />Master<br />Wakame<br />Agent<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />マシン起動<br />
  23. 23. Storage<br />Machine Image File<br />マシンイメージを起動する(2/7)<br />Machine Image File<br />Master<br />Agent<br />インスタンスの起動<br />Master<br />Others<br />(Web+DB+etc.)<br />Agent<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />
  24. 24. Storage<br />Machine Image File<br />MasterはAgentに指示をする(3/7)<br />Machine Image File<br />Master<br />サービス起動指示<br />Agent<br />Master<br />サービス起動<br />Others<br />(Web+DB+etc.)<br />Agent<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />
  25. 25. スケールアウトしろ!(4/7)<br />Machine Image File<br />Storage<br />スケールアウト計画の指示<br />Master<br />Machine Image File<br />Agent<br />Master<br />Others<br />(Web+DB+etc.)<br />Agent<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />
  26. 26. Storage<br />Machine Image File<br />Masterから新インスタンスを要求(5/7)<br />Machine Image File<br />Master<br />Agent<br />Master<br />マシン起動<br />Others<br />(Web+DB+etc.)<br />Agent<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />
  27. 27. 新しいAgentが登場(6/7)<br />Machine Image File<br />Machine Image File<br />Storage<br />Master<br />Master<br />Machine Image File<br />Agent<br />Agent<br />Master<br />インスタンスの起動<br />Others<br />(Web+DB+etc.)<br />Others<br />(Web+DB+etc.)<br />Agent<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />
  28. 28. 新Agent経由でセットアップ(7/7)<br />Machine Image File<br />Machine Image File<br />Storage<br />Master<br />Master<br />Machine Image File<br />サービス起動指示<br />Agent<br />Agent<br />Master<br />サービス起動<br />Others<br />(Web+DB+etc.)<br />Others<br />(Web+DB+etc.)<br />Agent<br />Server + Xen<br />Others<br />(Web+DB+etc.)<br />Server + Xen<br />Server + Xen<br />Web APIs<br />
  29. 29. いまどき<br />ソフトウェアは最初からスケールアウト可能なように書くのが当たり前です!<br />しかし!<br />
  30. 30. 珍<br />獣<br />大規模サイトの<br />運用まで経験した人は<br />数少ない!<br />
  31. 31. 混ぜてみよう<br />
  32. 32. Wakameまとめ<br />Let’s 実験,<br />be 珍獣<br />手軽に<br />Railsを大規模化できる<br />
  33. 33. Photo copyrights<br />http://www.flickr.com/photos/fotoosvanrobin/3644415777/<br />http://www.flickr.com/photos/zadeus/345628105/<br />http://www.flickr.com/photos/janramroth/2596734632/<br />http://www.flickr.com/photos/smailtronic/506742200/<br />http://www.flickr.com/photos/66164549@N00/2093219011/<br />http://www.flickr.com/photos/gillesgonthier/2158761836/<br />http://www.flickr.com/photos/tscherno/1439629882/<br />http://www.flickr.com/photos/55638925@N00/2386548957/<br />http://www.flickr.com/photos/mscheltgen/56521788/<br />http://www.flickr.com/photos/falsepositives/2862982252/<br />http://www.flickr.com/photos/tsackett/8664708/<br />http://www.flickr.com/photos/a_mason/3993146/<br />http://www.flickr.com/photos/smatkins/2233167722/<br />http://www.flickr.com/photos/rhouse/1679839435/<br />Creative Commons - Attribution-Share Alike 2.0 Generic<br />
  34. 34. http://github.com/axsh/wakame/<br />分散テクノロジグループ<br />山崎泰宏(y-yamazaki@axsh.net / @sparklegate)<br />藤原勝弘(m-fujiwara@axsh.net)<br />吉田将士(masahito@axsh.net)<br />三上悟 (s-mikami@axsh.net)<br />

×