+ クラウド指向アーキテクチャ
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 さんありがとうございます。
UMLmemo | Vector |