Wakameで始めるAWS

   株式会社あくしゅ
     山崎泰宏
山崎泰宏の自己紹介
新しもの好きな
小さい会社やってます
Virtual Sound Horror House - 1999
Virtual Sound Horror House - 1999
Paco - 2001
Paco - 2001
Paco - 2001
Viewer   仮想空間
『なんか、Webの世界もVRっぽいな』
Browser   Web
そこで2000年に
コミュニテゖプラットフォームを
作りましたが…
見事スケーラビリティに屈した
2000年当時は何が課題だったか
• 物理サーバを調達できなかった
 – 学生だったので買うのは一大決心だった
  • (それでも5台までは何とかした…)
 – 研究室に置くところが無かった!
• スケールアウトのノウハウが無かった
 – 作っ...
置く場所を借りたら良い
従来のハウジングデータセンタ
従来のホスティングデータセンタ
負荷が高いので、
サーバ追加したいんですけど…



  はい!
  1週間かかります♪
設定ミスっちゃったので、
電源入れ直したいんですけど…



  はい!
  1万円かかります♪
どうやらサーバのHDDが
故障したみたいなんですけど…



  はい!
  セットアップから
  やり直してください♪
僕たちは何かにおびえながら
サーバの中に閉じ込められて
暮らしていたようなものです。
そうこうしていたら
IaaS型クラウドが出てきた
僕たちはそれの何に歓喜したか
仮想化されているところ
     …だろうか?
VPSなら他にもあります!
所有から利用へ
 …だろうか?
それはリースの話しです!
従量課金になったから
    …だろうか?
かつては時間割制でした!
では一体何が…
Web APIによる自動応答があるからです
負荷が高いので、
      サーバ追加したいんですけど…



Web API
          はい!
          数分でやります♪
設定ミスっちゃったので、
      電源入れ直したいんですけど…



Web API
          はい!
          無料でやります♪
どうやらサーバのHDDが
      故障したみたいなんですけど…



Web API
          はい!
          過去の複製を起動します♪
これは運用が劇的に変わる




  しかも、良い方向に。
あなたが神か…
ここまでのまとめ
• Amazon Web Servicesは-
  – 仮想マシンを巧みに利用した
    ホステゖングサービス
  – Web APIを提供し、
    顧客に自由とスピードを与えた
    • 言い方を変えると、
    ...
正確にはブラウザなどの
クライアントソフトウェアから
    Web APIに指示が行く
例) Elasticfox / S3Fox   (Firefox Plugin)




       Elasticfox

                    S3Fox
Web APIと通信する様子も確認可
…と言うことは、
マウスに触れずサーバを起動するとか
色々と全自動化する仕組みが…
…できた!



2009年4月22日に最初のリリース。
Wakameはデータセンタを
高レベルでコントロールするもの
1.管理すべきマシン全てに゗ンストールし、
  手順を与えることでそれを自動的に実行する。
  システム管理者の代わりに働く!

2.応用としてシステムの
  スケールゕウトが可能...
Wakameは人間が管理するより素早く
     サーバ台数を自動で増やす

初期状態   (1) マシン確保   (2) サービス起動     (3) 接続
 ロード      ロード         ロード           ロード
バラ...
逆順で減らすこともできる
減らすことがメリットになる
                             事業目標で求められる
サ        大手企業的なゕプローチの        サーバ数
ー
バ        サーバ数
数

               ...
どのくらい簡単になるのか
Rails(mod_passenger)用の
  マシンを10台にしたい時

# wakameadm propagate_service ¥
  Apache_APP 10

 コマンド1行で、後は見ているだけでOKです。
MySQL(Slave)用の
   マシンを5台にしたい時

# wakameadm propagate_service ¥
  MySQL_Slave 5

MySQLのMaster DBからReplicationが始まります。
Load
                    Balancer

               Static    Passenger   Passenger   Passen

                Load      MySQ...
クリエイティブな時間にしろ、って




  小島さんも言っているわけだし
標準で対応しているプロダクト
• 組込済
 –   Apache2 (Load Balancer/Asset/Application)
 –   Nginx (Asset/Application)
 –   MySQL (Master/Slav...
Wakameはシステム管理者として
どのような振る舞いをするのか
全体像の概要
                                 Amazon
                                   S3
                                 Stor...
Wakameの原理(1/7)

                             Storage
                             Machine
                              Im...
Wakameの原理(2/7)
 Machine
  Image
   File
                          Storage

 Master                   Machine
             ...
Wakameの原理(3/7)
         Machine
          Image
           File
                                  Storage

         Master...
Wakameの原理(4/7)
        Machine
         Image
          File
スケールゕウト計画の指示                       Storage

          Master ...
Wakameの原理(5/7)
        Machine
         Image
          File
                                 Storage

        Master     ...
Wakameの原理(6/7)
 Machine              Machine
  Image                Image
   File                 File
                   ...
Wakameの原理(7/7)
        Machine              Machine
         Image                Image
          File                 Fil...
デモンストレーション
• 概要
 – サーバ数を指定すると、
   自動的にWebサーバが増強されるデモです
 – 増えたWebサーバにゕクセスが分散している
   ことを確認します
初期状態
Machine
 Image
  File
                         Storage

Master                   Machine
                          Im...
SSH接続して詳細を確認する
            Machine       root@ip-10-251-xx-xx:~# top

             Image        top - 08:48:02 up 2 min, 1...
デモの進行
• 次に計画的スケールを実施します
 – Webサーバを1台から5台にスケールゕウトします
 – Webサーバを5台から1台に減らします
• ブラウザで動作確認をします

LB                  LB

Web   ...
Wakame v.s. Auto Scaling
• Auto Scalingは基本的に
  ゗ンスタンスの起動と終了を
  コントロールする
 – Reactive Scaling(負荷に反応する)
 – 簡単で良い!
• Wakameは、L...
Wakameは何故
 Proactive Scalingにしたのか?
• Reactiveは、簡単だがシビア
  – 負荷の閾値調整が大変
    • 緩めれば、必要無い台数増えてしまう。
    • 締めつければ、必要な時に増えなくなってしま...
Wakameの得意な仕事
• CPU負荷/トラフゖックと関係のない
  スケールゕウト
 – バッチ処理など


• スケールゕウト/゗ンに対する+αの処理
 – 監視との連動
 – L7的には通信可能でも、すぐLBに加えず、
   もう少しゕ...
積極的に管理する例
• 東芝様のフゔームウェゕ配信にWakameが
  使われている (from 日経SYSTEMS)
 – http://itpro.nikkeibp.co.jp/article/NEWS/20100226/345120/

...
開発者への余波
今までと違う「当たり前」の世界
今使っているサーバを
必死にメンテナンスする必要は
もうない
ec2-run-instances




  さっさと新しいマシンを用意して
ec2-terminate-instances




   捨てるのが当たり前
これらが
たった数分の間に起こる時代
新時代の開発者は
この事実を使いこなす
まとめ
• AWSを使うと、運用が劇的に変わる
 – 人間よりも遙かに素早い応答
  • Web APIこそIaaS型クラウドの神髄
 – プログラマブルゆえの運用全自動化
  • Wakameのような複雑なオートスケール
  • 構成が変化す...
『世界のクラウドソリューションへ!』




                 82
まだまだ楽しくやんよ!



 axsh co., LTD.




                  83
InfoTalk - Wakame
InfoTalk - Wakame
InfoTalk - Wakame
InfoTalk - Wakame
Upcoming SlideShare
Loading in...5
×

InfoTalk - Wakame

1,120

Published on

Wakame-fuel automates the maintenance of the networked server configuration.

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

No Downloads
Views
Total Views
1,120
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

InfoTalk - Wakame

  1. 1. Wakameで始めるAWS 株式会社あくしゅ 山崎泰宏
  2. 2. 山崎泰宏の自己紹介
  3. 3. 新しもの好きな 小さい会社やってます
  4. 4. Virtual Sound Horror House - 1999
  5. 5. Virtual Sound Horror House - 1999
  6. 6. Paco - 2001
  7. 7. Paco - 2001
  8. 8. Paco - 2001
  9. 9. Viewer 仮想空間
  10. 10. 『なんか、Webの世界もVRっぽいな』
  11. 11. Browser Web
  12. 12. そこで2000年に コミュニテゖプラットフォームを 作りましたが…
  13. 13. 見事スケーラビリティに屈した
  14. 14. 2000年当時は何が課題だったか • 物理サーバを調達できなかった – 学生だったので買うのは一大決心だった • (それでも5台までは何とかした…) – 研究室に置くところが無かった! • スケールアウトのノウハウが無かった – 作ったソフトウェゕが ボトルネックとなって分散させられない
  15. 15. 置く場所を借りたら良い
  16. 16. 従来のハウジングデータセンタ
  17. 17. 従来のホスティングデータセンタ
  18. 18. 負荷が高いので、 サーバ追加したいんですけど… はい! 1週間かかります♪
  19. 19. 設定ミスっちゃったので、 電源入れ直したいんですけど… はい! 1万円かかります♪
  20. 20. どうやらサーバのHDDが 故障したみたいなんですけど… はい! セットアップから やり直してください♪
  21. 21. 僕たちは何かにおびえながら サーバの中に閉じ込められて 暮らしていたようなものです。
  22. 22. そうこうしていたら IaaS型クラウドが出てきた
  23. 23. 僕たちはそれの何に歓喜したか
  24. 24. 仮想化されているところ …だろうか?
  25. 25. VPSなら他にもあります!
  26. 26. 所有から利用へ …だろうか?
  27. 27. それはリースの話しです!
  28. 28. 従量課金になったから …だろうか?
  29. 29. かつては時間割制でした!
  30. 30. では一体何が…
  31. 31. Web APIによる自動応答があるからです
  32. 32. 負荷が高いので、 サーバ追加したいんですけど… Web API はい! 数分でやります♪
  33. 33. 設定ミスっちゃったので、 電源入れ直したいんですけど… Web API はい! 無料でやります♪
  34. 34. どうやらサーバのHDDが 故障したみたいなんですけど… Web API はい! 過去の複製を起動します♪
  35. 35. これは運用が劇的に変わる しかも、良い方向に。
  36. 36. あなたが神か…
  37. 37. ここまでのまとめ • Amazon Web Servicesは- – 仮想マシンを巧みに利用した ホステゖングサービス – Web APIを提供し、 顧客に自由とスピードを与えた • 言い方を変えると、 セルフサービス化をした • 従量課金制はWeb APIのスピードを殺さない手法
  38. 38. 正確にはブラウザなどの クライアントソフトウェアから Web APIに指示が行く
  39. 39. 例) Elasticfox / S3Fox (Firefox Plugin) Elasticfox S3Fox
  40. 40. Web APIと通信する様子も確認可
  41. 41. …と言うことは、 マウスに触れずサーバを起動するとか 色々と全自動化する仕組みが…
  42. 42. …できた! 2009年4月22日に最初のリリース。
  43. 43. Wakameはデータセンタを 高レベルでコントロールするもの 1.管理すべきマシン全てに゗ンストールし、 手順を与えることでそれを自動的に実行する。  システム管理者の代わりに働く! 2.応用としてシステムの スケールゕウトが可能になる。  Amazon EC2と組み合わせてご利用いただくと効果抜群! 3.Ruby+AMQPの構成で動く オープンソースソフトウェゕ。  どなたでも無償である限り無料でご利用可能!
  44. 44. Wakameは人間が管理するより素早く サーバ台数を自動で増やす 初期状態 (1) マシン確保 (2) サービス起動 (3) 接続 ロード ロード ロード ロード バランサ バランサ バランサ バランサ Web Web Web Web Web Web サーバ サーバ サーバ サーバ サーバ サーバ DB DB DB DB サーバ サーバ サーバ サーバ Wakameは、これらを数分で完了させます
  45. 45. 逆順で減らすこともできる
  46. 46. 減らすことがメリットになる 事業目標で求められる サ 大手企業的なゕプローチの サーバ数 ー バ サーバ数 数 事業の過程で求められる 理想的なサーバ数 キ 潤 ャ 不要なサーバ数 沢 ン な ペ 初 ー 期 ン 費 中 用 ( 流 入 キャンペーン後の効果(定着) ) 時間
  47. 47. どのくらい簡単になるのか
  48. 48. Rails(mod_passenger)用の マシンを10台にしたい時 # wakameadm propagate_service ¥ Apache_APP 10 コマンド1行で、後は見ているだけでOKです。
  49. 49. MySQL(Slave)用の マシンを5台にしたい時 # wakameadm propagate_service ¥ MySQL_Slave 5 MySQLのMaster DBからReplicationが始まります。
  50. 50. Load Balancer Static Passenger Passenger Passen Load MySQL Balancer Master SQL MySQL MySQL ave Slave Slave
  51. 51. クリエイティブな時間にしろ、って 小島さんも言っているわけだし
  52. 52. 標準で対応しているプロダクト • 組込済 – Apache2 (Load Balancer/Asset/Application) – Nginx (Asset/Application) – MySQL (Master/Slave) – memcached – Elastic Load Balancing – Elastic IP • 現在対応中 – MongoDB (Multi Master - Sharding) • 自分で拡張することも可能 – start/stopなどの゗ベントに応じたコントロール – init.d相当のことを書くだけなのでシンプル
  53. 53. Wakameはシステム管理者として どのような振る舞いをするのか
  54. 54. 全体像の概要 Amazon S3 Storage Machine Amazon Image Machine File Image Master Agent Amazon EC2 Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API Elasticfoxなど
  55. 55. Wakameの原理(1/7) Storage Machine Image File Master Wakame Agent Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API マシン起動
  56. 56. Wakameの原理(2/7) Machine Image File Storage Master Machine Image File Agent Master Others (Web+DB+ Agent etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API
  57. 57. Wakameの原理(3/7) Machine Image File Storage Master Machine Image サービス起動 File 指示 Agent Master サービス起動 Others (Web+DB+ Agent etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API
  58. 58. Wakameの原理(4/7) Machine Image File スケールゕウト計画の指示 Storage Master Machine Image File Agent Master Others (Web+DB+ Agent etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API
  59. 59. Wakameの原理(5/7) Machine Image File Storage Master Machine Image File Agent Master マシン起動 Others (Web+DB+ Agent etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API
  60. 60. Wakameの原理(6/7) Machine Machine Image Image File File Storage Master Master Machine Image File Agent Agent Master Others Others (Web+DB+ (Web+DB+ Agent etc.) etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API
  61. 61. Wakameの原理(7/7) Machine Machine Image Image File File Storage Master Master Machine Image サービス起動 File 指示 Agent Agent Master サービス起動 Others Others (Web+DB+ (Web+DB+ Agent etc.) etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) 勝手に Web API 増えた!
  62. 62. デモンストレーション • 概要 – サーバ数を指定すると、 自動的にWebサーバが増強されるデモです – 増えたWebサーバにゕクセスが分散している ことを確認します
  63. 63. 初期状態 Machine Image File Storage Master Machine Image File Agent Master Others (Web+DB+ Agent etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API
  64. 64. SSH接続して詳細を確認する Machine root@ip-10-251-xx-xx:~# top Image top - 08:48:02 up 2 min, 1 user, load average: 0.04, 0.07, 0.03 File …(snip)… PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND Storage wakameadm 1237 root 15 0 28648 13m 2108 R 0.0 0.8 0:00.07 wakame-agent 1254 wakame 15 0 47416 32m 2228 R 0.0 1.9 0:00.44 wakame-master Master Machine root@ip-10-251-xx-xx:~# ./wakameadm status Image Cluster : Wakame::Service::WebCluster (0) File Wakame::Service::Apache_LB : <min=1, max=1> Wakame::Service::Apache_WWW : <min=1, max=1> Agent Wakame::Service::Apache_APP : <min=1, max=5>Master Wakame::Service::MySQL_Master : <min=1, max=1> Agents : i-f603649f : 10.251.xx.xx, 67.202.xx.xxx load=0.06, 3 sec(s) (1) Others (Web+DB+ Agent etc.) Server + Xen Server + Xen Others Server + Xen (Web+DB+ etc.) Web API
  65. 65. デモの進行 • 次に計画的スケールを実施します – Webサーバを1台から5台にスケールゕウトします – Webサーバを5台から1台に減らします • ブラウザで動作確認をします LB LB Web Web Web Web Web Web
  66. 66. Wakame v.s. Auto Scaling • Auto Scalingは基本的に ゗ンスタンスの起動と終了を コントロールする – Reactive Scaling(負荷に反応する) – 簡単で良い! • Wakameは、Linuxプロセスとして動く為、 もっと積極的に管理したい人向け – 主にProactive Scaling(計画的に行動する)
  67. 67. Wakameは何故 Proactive Scalingにしたのか? • Reactiveは、簡単だがシビア – 負荷の閾値調整が大変 • 緩めれば、必要無い台数増えてしまう。 • 締めつければ、必要な時に増えなくなってしまう。 – 予算が見積もりづらい • Proactive ScalingはReactiveもカバー – トリガを自由に定義できる • 時間をトリガにして計画的スケーリング • 負荷をトリガにしてReactiveな挙動に見せかける
  68. 68. Wakameの得意な仕事 • CPU負荷/トラフゖックと関係のない スケールゕウト – バッチ処理など • スケールゕウト/゗ンに対する+αの処理 – 監視との連動 – L7的には通信可能でも、すぐLBに加えず、 もう少しゕプリが準備できるまで待つ – サーバ終了前のログ退避手順の実行 – MySQLのレプリケーション手順の実行
  69. 69. 積極的に管理する例 • 東芝様のフゔームウェゕ配信にWakameが 使われている (from 日経SYSTEMS) – http://itpro.nikkeibp.co.jp/article/NEWS/20100226/345120/ • 某広告集配信サービス – ユーザ単位に配信すべき広告をバッチ処理 • Queue(Amazon SQS)からpopしてひたすら処理す るので、CPU負荷は一定のまま • Queueにある程度溜まり始めたら増やしたい
  70. 70. 開発者への余波
  71. 71. 今までと違う「当たり前」の世界
  72. 72. 今使っているサーバを 必死にメンテナンスする必要は もうない
  73. 73. ec2-run-instances さっさと新しいマシンを用意して
  74. 74. ec2-terminate-instances 捨てるのが当たり前
  75. 75. これらが たった数分の間に起こる時代
  76. 76. 新時代の開発者は この事実を使いこなす
  77. 77. まとめ • AWSを使うと、運用が劇的に変わる – 人間よりも遙かに素早い応答 • Web APIこそIaaS型クラウドの神髄 – プログラマブルゆえの運用全自動化 • Wakameのような複雑なオートスケール • 構成が変化することを前提としたシステム開発を – 必要なときに必要なだけ • マシンの使い捨てで形作られるワークスタ゗ル • Wakameで素敵なAWSラ゗フを。
  78. 78. 『世界のクラウドソリューションへ!』 82
  79. 79. まだまだ楽しくやんよ! axsh co., LTD. 83
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×