flat7th

+ クラウド指向アーキテクチャ

created 2011-11-24 modified 2011-11-24 

クラウド時代のアプリケーション構築法を考えています。

以下内容は2011年11/24の日記のincludeです。

「ぼくがかんがえたさいきょうのポケモン」的

ぼくがかんがえた、さいきょうのポケモン 的な

ぼくがかんがえた、クラウドのアーキテクチャ。




説明

業務サーバは、アプリの動作処理をするけど、内部にデータは持たない。なので、処理サーバと呼ぶ。
処理サーバについて、今一般的な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 さんありがとうございます。
UMLmemoVector