AS3SX Server Side Action Script 3 Library & Hosting
– Fast Development with a painless Framework
– Multiuser, Realtime Events & Sessions out of the box
– Super Easy Database Access without any SQL
– Fully Hosted in the Cloud
[追記] 技術的な部分は馬鹿全さんのブログも参考になります。(内容が少しかぶったけど;;)
馬鹿全 – サーバーサイドASのAS3SXとその考察
サーバサイドActionScriptという取り組み自体は何年も前からありますし、オープンソースに目を向けてみてもいくつかのTamarinプロジェクトで既に実現されていて、個人でも手軽に試すことができます(see also: programming socket with redtamarin)。
しかし、AS3SXはそれをクラウドでホスティングしている所が時代を感じさせます。AS3版PaaSですね。制作サイドの人にやさしいのは良いことです。
以下数行は細かい部分なので読み飛ばしてもらってOKです。
———-
技術的な面では、実は最初に書いたようなTamarinプロジェクトの成果を貪欲に取り込んだものではなく、サーバプロセス本体をAS3で書けるわけではない。パケットを覗いてみたところ、まずクライアント起動後にサーバとの接続確立後(ESTABLISHED)、アプリケーションIDとGUIDを送る。そのあとは普通のソケット通信。パケットのデータ部は DataService?data={データ}&type={送るデータのクラス名}
というクエリ文字列の形でそのままASCIIデータを送っていたので、HTTPクライアントも後で使えるようになるのかもしれない(厳密にはDataService?...
の前に数バイトのバイナリデータが付いている)。サーバ側はアプリケーションIDとGUIDを受け取った時にプレイヤーを蹴り起こしているようだけど、その時点から新規リクエストがない場合、最大60分間はプレイヤーを立ち上げたままにするようだ。アプリケーションの設定項目に「Shutdown Time」というのが設けてあり、現在は最小2分、最大60分の制限が掛けられている。
———-
* スケーラビリティ
初回接続時の遅延から考えて、複数のサーバに分散させたSWF群にTCPコネクションを貼り回っているのか、クラスタのメタ情報を管理するSWFがサーバSWFを選び取ってきて抱え込んでいるのかどちらでもいいですが、この仕組みでどうやって上手くスケールするようなインフラ構成を考えているのでしょう。オートスケールには対応してくれるのか。あとWindows Serverだとそれなりにお金もかかっちゃうので、採算がとれる課金体系にも注目したいところ。
* データベース
スキーマレスなデータベースが使えるようです。下の例のようにドキュメント指向でオブジェクトをそのまま保存することができます。
1 2 3 4 5 |
{ "___type" : "com.as3sx.persitency::PersistentObject", "_id" : "4e6b3254ebd1d65dd80000a7", "name" : ryo } |
“Collection”と呼んでいるので実体はMongoDBでしょうか。AS3ドライバもコミュニティサポートで公開されてますし。でもライブラリ(AS3SX.swc)の使い方がよくわからなくて、インデックスを貼ったり他のCollectionと関係性を持たせたり(embed)とかはどうやって操作するんでしょう。。
* レイテンシ
テンポ良く検証できないなぁと思っておもむろにRTTを測ってみたのですが、東京からだと平均300msくらい。おっそい。リージョンがヨーロッパ(ドイツ)のようなのでこれはどうしようもないことですが、今のところ日本からまともに利用するのは厳しいです。せめてUS西海岸あたりにリージョンを作ってもらえれば。。
ちなみに、DNSレコードを覗いてみると tobiheidi.de なドメインを目にしたので、会社情報を調べてみたらすぐに見つかりました(フリーランス?)。AS3SXのWebサイトもASP.NET製ですし技術スペックもピンポイントなので、たぶんAS3SXの開発にはここも加わっているんでしょうね。
TobiHeidi: Expertise, Sprachen, Zertifikate | twago
インフラをどこが作っているのかというのは、PaaSを利用する上で重要な判断材料になるかと思います。
* 感想
システム構成の物珍しさも相まって個人的には使っていてとても面白かったです。デプロイやデバッグはめんどうなんですが、FDTにデプロイ支援やアプリケーションのステータス確認等ができるようなプラグインが提供されると嬉しいですね。僕はFDTもってないけど(´・ω・`)
DotCloudやfluxflexのようにプログラミング言語やミドルウェアが自由に選べるPaaSが注目されている今、かなりターゲットを絞った戦略で乗り込んできたわけですが、これで多くのユーザーを獲得できるのか。まぁ採算はしばらく別のところで取るつもりかもしれません。
ライブラリの使い方などのドキュメントもこれから充実してくるはずですし、ユーザーの意見や感想もたくさん上がってくると思いますのでそれを楽しみにしておきます。
AS3SXは巨大雲の夢を見るか