次世代Webアーキテクチャー
現在のモバイルアプリケーションはモバイルOSごとに異なる方法で開発を行う必要があるため、全体の開発量を低減するにはクラウド側に多くの機能を実装する必要がありました。しかし、OSに依存しないHTML5.0の登場とクライアント側のハードウェア性能の向上をきっかけに、クラウド側で実装されてきた多くの機能は演算処理能力に余裕があるクライアント側に移行しようとしています。NTTもクライアント側(エッジ側)に多くの処理を行わせる「エッジコンピューティング構想参考1」を発表しています。エッジコンピューティングではクライアント端末、もしくはクライアント端末の近くにあるコンピューターに処理をさせることで従来のクラウドよりも高レスポンスを得ることができます。
第3のモバイルOSと呼ばれるFirefox OS参考2も注目されています。Firefox OSにはブラウザーが搭載されておらず、HTML5.0/JavaScript/CSSで構成されるWebアプリケーションの実行に最適化されています。さまざまなモバイルOS上で動作するHTML5.0が仕様として標準になれば、OSごとにアプリケーションを開発する必要がなくなります。JavaScriptを代替するDartやTypeScript等のJavaライクな開発言語参考3を利用すれば、JavaScriptでは難しかった生産性の向上と大人数での並行開発が実現できます。今後、クライアント側で多くの処理を行うモデルや新しいタイプのWebアプリケーションが登場し、Webシステムのアーキテクチャーは大きく変化していくでしょう。また、新規に開発されるシステムでは、将来的に登場すると考えられる自動車や家電などの多様な端末からアクセスされることを考慮する必要が出て来ます。端末側の画面サイズ等に合わせてユーザーインターフェースを自在に変更するレスポンシブWebデザイン参考4も重要になってくるでしょう。
環境適応型ITシステム
ITシステムは、急速な負荷変動やデータ量の増減に対して柔軟な対応が求められるようになります。近年見られる代表的な環境変化はクラウドとビッグデータでしょう。クラウドでは、システム負荷に合わせてサーバー数を自動で増減するオートスケールアウト機能が既に広く利用されています。通常時はオンプレミスで処理を実行しながら、負荷が急増した場合のみオンプレミスとクラウドを連携させて処理を行うクラウドバーストも有効です。ビッグデータでは、センサーが生み出す膨大なデータを保存・処理することが重要となり、高度な分析をリアルタイムで実行するオープンソースの処理基盤「Jubatus」参考5などの活用が進むと考えられます。柔軟なシステムという観点ではSoftware-Definedと呼ばれる考え方が注目されています。Software-Definedの世界では必要な機能をユーザー自らがソフトウェアで実装することが可能になります。Software-Definedの代表例はOpenFlow参考6と呼ばれるネットワーク技術です。ネットワークに限らずSoftware-Definedの考え方が広まれば、さまざまなシステムやインフラがソフトウェアで最適に制御され、変化に応じて柔軟に対応できるようになるでしょう。
図:環境適応型ITシステム