memo/20111124
created 2011-11-24 modified 2011-11-24
「ぼくがかんがえたさいきょうのポケモン」的
ぼくがかんがえた、さいきょうのポケモン 的なぼくがかんがえた、クラウドのアーキテクチャ。

説明
業務サーバは、アプリの動作処理をするけど、内部にデータは持たない。なので、処理サーバと呼ぶ。処理サーバについて、今一般的なWebアプリの考え方だけでなく、Apache James のようなメールアプリの考え方もよし。
| リンク | 備考 |
|---|---|
| Apache James | メールベースのアプリサーバ |
gmailのストレージを、内部でつなげて共有フォルダ的に見せるアプリがある。あんな感じで、もっとシンプルに、gmailのメールフォルダ(IMAPのMailBox)をキーバリューストアとして、アプリケーションデータを保存する。もし外部にデータを置くのが心配なら、自前でIMAPサーバ(dovecot とか)を立てればいい。
| リンク | 備考 |
|---|---|
| GMail Drive shell extension |
データ収集は、外部WebからデータとってくるならHTTP。2chのdatをとってきたり、株価をとってきたり。
ハードの状態を知りたければ、対象ハードにSNMPエージェントを入れて、処理サーバ側をSNMPマネージャにする。あるいは書籍「Linux組み込みシステム (クレイグ・ホーラボウ 氏)」に出てくる例のように、ミニLinuxでbashで簡易CGI書いてHTTPサーバにしてもいい。
| リンク | 備考 |
|---|---|
| Amazon: Linux組み込みシステム (著者 クレイグ・ホーラボウ 氏) | 話題それますが、この本、超おすすめです。雪山に組み込みLinuxを置いて、気候センサの値をbashのCGIで出力して、ふもとのPCからwgetで取得する話が出てきます |
「アプリ固有の矩形領域」とは、パロアルトGUIアプリで、3Dの手が握ったり開いたりするビュー部分のこと。ちょっと前でいう、HTML要素だけでは書けなくて、JavaAppletとかFlashを使ってたような部分。ニコニコ動画やYouTubeのFlashもそうです。
| リンク | 備考 |
|---|---|
| JavaApplet:ハノイタワーチャート | 手前味噌ですみませんが「アプリ固有矩形領域」のサンプルです |
| JavaApplet:人間関係グラフ | 手前味噌ですみませんが「アプリ固有矩形領域」のサンプルです |
| ブラウザだけで3D表現できる「WebGL」体感デモ各種 | techwave.jp |
この方式のポイントと、ねらい
| この方式のポイント | ねらい |
|---|---|
| データをクラウドに置く | どの端末からも同じ情報が見える |
| 処理サーバは処理に専念しデータを持たない | データ管理コストを利用者とGoogleにゆだねる(ただしリスクもあり) |
| データアクセスのプロトコルとして、IMAPrev4を利用 | プロトコルが枯れていて実装ノウハウ豊富。telnet端末でデバッグ可能。メールソフトでDrag&Dropすればテストデータ格納が可能 |
| 利用者ごとに縦割り負荷分散をこころがけるつくりとする | スケールアップでなくスケールアウト型のシステム構築を促進 |
| (処理ステージごとに横割りプロセス分割する) | マルチコアCPUを有効活用 |
| MVCやMVVMの本質的な狙いである、1個のモデルに複数のビュー、のつくりとする | モデルやフレームワーク重視のシステム構築を促進 |
| アプリ固有矩形領域を重視 | 旧来のHTML要素だけの純朴なWebアプリから脱却し、アプリ固有矩形領域を皆が書く時代に対応。その職人も育つ |
図の作成には UMLmemo を利用させていただきました。作者 a.sakamoto さんありがとうございます。
| UMLmemo | Vector |