17 e-5 震災とhackとクラウドと ━ uriベースのcslb

13
17-E-5】震災とHackとクラウドと URIベースのCSLB Client-side URI-based load-balancing with JavaScript 120217 祐貴 さくらインターネット研究所 [email protected]

Upload: yuki-kan

Post on 12-Nov-2014

23.583 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

【17-E-5】震災とHackとクラウドと

URIベースのCSLB Client-side URI-based load-balancing with JavaScript

120217

菅 祐貴 さくらインターネット研究所

[email protected]

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が動かなくても可

そりゅーしょん↓

URIベースのCSLB Client-side URI-based load-balancing with JavaScript

各事業者のサーバー(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の値を利用

• 咄嗟のシステム構築にクラウドが大いに活躍 – あらゆる業者・地域で利用可能:雲のような計算資源 – 今後の為にもインフラをしっかり整備していきたい

ありがとうございました。