Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20090717 Ruby Kaigi Lightning Talk

2,548 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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 />

×