Contenu connexe Similaire à InfoTalk - Wakame (20) Plus de axsh co., LTD. (20) InfoTalk - Wakame34. 負荷が高いので、
サーバ追加したいんですけど…
Web API
はい!
数分でやります♪
39. ここまでのまとめ
• Amazon Web Servicesは-
– 仮想マシンを巧みに利用した
ホステゖングサービス
– Web APIを提供し、
顧客に自由とスピードを与えた
• 言い方を変えると、
セルフサービス化をした
• 従量課金制はWeb APIのスピードを殺さない手法
46. Wakameは人間が管理するより素早く
サーバ台数を自動で増やす
初期状態 (1) マシン確保 (2) サービス起動 (3) 接続
ロード ロード ロード ロード
バランサ バランサ バランサ バランサ
Web Web Web Web Web Web
サーバ サーバ サーバ サーバ サーバ サーバ
DB DB DB DB
サーバ サーバ サーバ サーバ
Wakameは、これらを数分で完了させます
48. 減らすことがメリットになる
事業目標で求められる
サ 大手企業的なゕプローチの サーバ数
ー
バ サーバ数
数
事業の過程で求められる
理想的なサーバ数
キ
潤 ャ 不要なサーバ数
沢 ン
な ペ
初 ー
期 ン
費 中
用
(
流
入 キャンペーン後の効果(定着)
)
時間
51. MySQL(Slave)用の
マシンを5台にしたい時
# wakameadm propagate_service ¥
MySQL_Slave 5
MySQLのMaster DBからReplicationが始まります。
52. Load
Balancer
Static Passenger Passenger Passen
Load MySQL
Balancer Master
SQL MySQL MySQL
ave Slave Slave
55. 標準で対応しているプロダクト
• 組込済
– 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相当のことを書くだけなのでシンプル
57. 全体像の概要
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など
58. Wakameの原理(1/7)
Storage
Machine
Image
File
Master
Wakame
Agent
Server + Xen
Server + Xen Others
Server + Xen
(Web+DB+
etc.)
Web API
マシン起動
59. 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
60. 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
61. 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
63. 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
64. 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
65. 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
増えた!
66. デモンストレーション
• 概要
– サーバ数を指定すると、
自動的にWebサーバが増強されるデモです
– 増えたWebサーバにゕクセスが分散している
ことを確認します
67. 初期状態
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
68. 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
70. Wakame v.s. Auto Scaling
• Auto Scalingは基本的に
ンスタンスの起動と終了を
コントロールする
– Reactive Scaling(負荷に反応する)
– 簡単で良い!
• Wakameは、Linuxプロセスとして動く為、
もっと積極的に管理したい人向け
– 主にProactive Scaling(計画的に行動する)
71. Wakameは何故
Proactive Scalingにしたのか?
• Reactiveは、簡単だがシビア
– 負荷の閾値調整が大変
• 緩めれば、必要無い台数増えてしまう。
• 締めつければ、必要な時に増えなくなってしまう。
– 予算が見積もりづらい
• Proactive ScalingはReactiveもカバー
– トリガを自由に定義できる
• 時間をトリガにして計画的スケーリング
• 負荷をトリガにしてReactiveな挙動に見せかける
72. Wakameの得意な仕事
• CPU負荷/トラフゖックと関係のない
スケールゕウト
– バッチ処理など
• スケールゕウト/ンに対する+αの処理
– 監視との連動
– L7的には通信可能でも、すぐLBに加えず、
もう少しゕプリが準備できるまで待つ
– サーバ終了前のログ退避手順の実行
– MySQLのレプリケーション手順の実行
73. 積極的に管理する例
• 東芝様のフゔームウェゕ配信にWakameが
使われている (from 日経SYSTEMS)
– http://itpro.nikkeibp.co.jp/article/NEWS/20100226/345120/
• 某広告集配信サービス
– ユーザ単位に配信すべき広告をバッチ処理
• Queue(Amazon SQS)からpopしてひたすら処理す
るので、CPU負荷は一定のまま
• Queueにある程度溜まり始めたら増やしたい
81. まとめ
• AWSを使うと、運用が劇的に変わる
– 人間よりも遙かに素早い応答
• Web APIこそIaaS型クラウドの神髄
– プログラマブルゆえの運用全自動化
• Wakameのような複雑なオートスケール
• 構成が変化することを前提としたシステム開発を
– 必要なときに必要なだけ
• マシンの使い捨てで形作られるワークスタル
• Wakameで素敵なAWSラフを。