InfoTalk - Wakame

  • 1,035 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,035
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
9
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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