17 e-5 震災とhackとクラウドと ━ uriベースのcslb
DESCRIPTION
TRANSCRIPT
【17-E-5】震災とHackとクラウドと
URIベースのCSLB Client-side URI-based load-balancing with JavaScript
120217
菅 祐貴 さくらインターネット研究所
About me
• 菅 祐貴 (Yuki KAN)
• さくらインターネット株式会社
– さくらインターネット研究所
– 主にウェブに関連した新技術について研究
– さくらのクラウドのUI開発を担当
• Github http://github.com/kanreisa/
– JavaScriptのUIクラスライブラリ等
• Twitter @kanreisa
• RedBull愛好家
• 自宅InfiniBand
ここ1年くらいの活動?
• 近年、利用者端末の性能がWebを見るにはオーバースペックに
– もっと活用しよう
• サーバーはサーバーでしか出来ない処理を
– RESTful API実装 と JavaScriptによるクライゕント
– サーバはHTMLまで動的生成する必要ないやん
– さくらのクラウドコンパネはそのような感じで実装
• さくらのクラウドUIは全てJavaScriptで実装
– APIにCRUDリクエストをJSON形式のデータで直接やりとり
– リモートスクリーン(VNC)の実装はWebSocketで独自実装
• フルJavaScript UI向けのクラスライブラリとかを開発
– Github: http://github.com/kanreisa/ (さくらのクラウドで利用)
3.11
• 壊滅的な被害
• 電力不足と計画停電
• 福島原発の危機 → 放射能? → デマの発生
– 公的情報を求め政府・地方自治体サイト等へのゕクセス
が殺到 → 過負荷でゕクセス困難
– 必要な時に必要な情報が…
→我々に出来ることは?
できること
• インターネットインフラを守る
– とにかく落とさないようにがんばる
– 電力不足? → 実験用サーバなどを停止
• インフラの提供
– ウェブサイトのミラーリング
– 公的情報の拡散支援
↑今回は これに関するHackを紹介します
公的情報の拡散支援
• 文科省からの協力依頼。
– 大震災関連情報を拡散したい。
– ゕクセス集中を避けるためクラウド事業者に協力を呼びかけた
– さくらの他、 WIDE Project / IBM / Azure AWS / Accelia / Yahoo! さん等と一緒に協力
事業者間でゕクセスを分散したい
• 時間がない中、それぞれ対象フゔイルを適当なURLに配置していった
ex)
http://○○○.jp/download/***.pdf http://×××.com/resource/***.pdf http://△△△.ne.jp/***.pdf
→「URIベースでLBさせたい」
URIベースのロードバランシング
• GSLBか?
– まともに構築しようとすると大変
– DNSラウンドロビンは割と簡単に設定できるが今回はリソースの位置が異なるので無理
– というか時間がない!
• JavaScriptで簡易的なのを作れないか
– これなら数分で作れる
– PHPとかCGIが動かなくても可
各事業者のサーバー(CSLBノード)
しくみ
?.blob.core.windows.net
?.s3.amazonaws.com
?.dc1.co.us.compute.ihost.com
pdf等
pdf等
pdf等
JS eq.sakura.ne.jp
インデックスページ(CSLBマスター)
1
2
3
4
■Request
■Response
インターネット
スクリプト実行 ↓
URIをランダムに選択
まとめ
• JSなので すばやく対応できた – そのときの状況と必要に応じた技術を適切に用いる – サーバサイドの負荷を低減
• もう少しの手間で ヘルスチェックとかも可 – JavaScriptで出来ることを知る
• JSが実行できない端末でも ゕクセス◎ – hrefの値を利用
• 咄嗟のシステム構築にクラウドが大いに活躍 – あらゆる業者・地域で利用可能:雲のような計算資源 – 今後の為にもインフラをしっかり整備していきたい