クラウダビリティ(Cloudability)


クラウダビリティ(Cloudability)とは、ある言語・ツール・フレームワークなどがクラウド環境下で稼動するか、または容易に稼動するかどうかを指します。


表層の技術、例えばWebフレームワーク、などは今後クラウド環境での稼動するかどうかを迫られるケースもあるのではと想定しています。バックエンド層の移行は進行速度が遅そうですが、顧客データを持たないサイトなどはクラウド環境の浸透はかなり早そうです。そのときに出来るだけ容易にクラウド環境下で動くことが必要です。



現在のところは、クラウド提供者側が非常に現行の技術からのクラウドへの移行に気を使っています。なのであまりこの点について言う人は少ないような気がします。例えばGoogle App Engine Javaでは下記のようなリストで動いたというのをユーザが報告しています。

しかし、本来クラウドは既存技術とは一線を画す部分(その思想・設計・アーキテクチャなど)が多いです。なので本当にパラダイムシフトが起きるかどうかは定かではありませんが、その移行時にせめてフレームワークやライブラリ側が対応している必要はある程度可能性としてみておく必要があります。


実際Webフレームワークレイヤはおそらく大体どれも動くようになる、または比較的簡単に動くようにできる気がしますが、永続化層はクラウダビリティは比較的低くなってしまいがちです。既存のアーキテクチャミドルウェアによる部分が多いような気がするので、そこが変わってしまうとフレームワークごと捨てなくてはいけないはずです。これは移行する方からすると、なかなか大変です。また、そもそもレイヤ構造などがなくなり、よりシンプルになる可能性だってあります。DDDがメインストリームに躍り出る可能性も否定できません。そこで、今後クラウドがうまくパラダイムシフトが起こせるかどうかわかりませんが、まずは何か言葉でそういう可能性を定義してみました。それがクラウダビリティです。



翻ってみて、T2は、実案件の開発効率性・保守性・拡張性などへの貢献がメインテーマです。あんまりクラウダビリティとか関係なさそう。しかしながら、だからといって今後のことも無視できるはずも無い。クラウドへの適応力に対しては一策設けておいてもよいのかもしれませんね。小さいから、適応力はかなり高いのでその点はあまり心配してません。