クラウド基盤の位置付け

 ここで取り上げているクラウド基盤は、ソーシャルサービスを構築し、配備し、稼働させ、運用を行う基盤としての役割を担うものとしている。なお、オペレーティングシステム(OS)は、サーバー、ストレージ、ネットワークなどのインフストラクチャとして位置付けており、本稿では言及していない。

 ソーシャルサービスでは、膨大な接続、変化が激しく、公共素材を使用し、またサービスの成功が不透明なことから、クラウド基盤には、サービスを低リスク/低コストで構築/変化への対応できることが要求され、サービスの半自動での構築、耐故障性(完全な復元力)が求められる。またクラウド基盤自体にも、特定のクラウド(IaaS)に非依存である必要があり、サービスと同様に半自動での構築、完全な復元力を兼ね備え、利用者サイドで使いこなせる基盤であることが重要であるといえる。

基盤に関する技術的な課題

 クラウド基盤、およびソーシャルサービスには、常に進化し続けるICT技術、および環境変化に応じて、絶えず進化し続ける技術的な仕組みが必要である。これの実現には、従来の一般的に用いられている静的な方法論でなく、絶えず変化することを前提とした、動的な方法論を用いらざるを得ないといえる。

複雑化するIT
 情報システムでは常に技術革新が行われ、次々に新しい言語、技術やスタックが開発されており、今後とも情報システムの複雑化はさらに進み、人手による限界に達している。

 実際のシステム構築では、目的に応じて、最適ソフトウエア言語、プラットフォームが選択採用され、人手による手組みで組み立てられている。(複雑化したITの統合が人手に委ねられている)

 新たな要件追加/変更、および新たなプラットフォームへの対応では、ソフトウエアの再設計、改造を余儀なくされている。(開発コストの増大、期間の長期化、運用保守コストの増加を招く危険性がある)

複雑化するITを簡素化する技術
 複雑化する情報システムを簡素化する技術として、SOA/Webサービス、ESB:Enterprise Service Bus、VM技術(イメージ)を使用して、システムをサービスとして取り扱い、システム間での相互接続の柔軟性/簡素化が高められているが、最終的な接続に関しては人手による介入は依然として残っている。

 システムの新規構築ではある程度簡素されるが、自然災害などの不足の事態が発生した場合には、システムの健全な状態への復元は人手で行われ、大きな負担が依然として伴うことになる。

 アプリケーションに関しては、プログラム言語、フレームワーク、プラットフォームが各々に独立して技術開発なされているが、共通した技術の流れは、ロッジと依存性の分離、ソフトウエアの再利用、アプリケーション開発/容易化に向かっているといえる。今後とも、ソフトウエアの再利用/部品化は更に進むものと推測される。

インフラサービス(IaaS)
 クラウドのインフラサービス(IaaS)では、VMイメージを単位として取り扱うことで、OS、アプリケーションのインストール作業などが簡素化されているが、アプリケーション・フレームワーク、アプリケーションの設定/管理などは人手で行うことが前提となっており、構成変更(ストレージ、サーバーの追加/削減、接続相手の変更)では依然として大きな負担になっている。

プラットフォームサービス(PaaS)
 クラウドのプラットフォームサービス(PaaS)では、単にアプリケーションの開発/稼働環境を提供しているものから、サービスのアプリケーションを稼働させる基盤まで幅広くある。

 サービスの基盤としてのPaaSでは、この基盤の下位層はアプリケーションには見えなくしてあり、構成変更などは基本的に基盤で担うようになっているが、アプリケーションの開発では、PaaSの規定言語、プラットフォーム、制約に従う必要があり、他のシステムとの連携、処理などの制約、および他のPaaSへの移行、展開では、再開発/移植が余儀なくされる。