Cloud Computing 上でのアプリケーション開発 - どの cloud を選ぶかが成否の鍵を握る
Cloud Computing という言葉が浸透してきて、企業向けのソフトウェアの位置づけの変化が現実味を帯びてきた。これまではビジネス上必要な機能をもつソフトウェアは、DVD などで提供されるソフトウェアの実体を入手した上でインストールし、それを使用する権利であるライセンスを購入して使うものであったが、Cloud Computing では、ソフトウェアの実体は購入せずに、利用するだけということができるようになる。
Cloud Computing では、ユーザはアプリケーション提供者が提供するサービスを機能や性能面から評価するだけでよく、ハードウェア、OS、やデータベースといった、アプリケーション自体とは直接関係のないプラットフォーム部分の導入や保守作業から開放される。これによって現在非常に時間がかかっている導入プランニングから実際の導入までの時間を大幅に短縮できることになる。
一方、アプリケーション提供側にとっては、ユーザから開放された作業を含めて請け負わなければならない。プラットフォームの選定は、プロジェクトごとでなく、アプリケーション開発時に行われるため、ユーザがアプリケーションを購入してからの時間の短縮には影響はないが、提供するサービスをどのプラットフォーム上で開発するかという決定は非常に重要になる。
現在 Cloud Computing のサービス提供の形態は確立されていないが、ハードウェアを含めたホスティング機能と開発実行環境が一体化しているものと、開発実行環境がホスティングとは独立していているものに大別される(他にも単機能を提供するサービスもあるが)。前者は、ホスティングサイトの利点を有効に利用した開発実行環境が提供されて、実際の開発やテストも実環境を使って効率的に行える利点があるが、アプリケーションが実行環境と不可分になるため、サービスプロバイダーがサービスを継続できなくなった場合などに、サービスプロバイダーを乗換えることができないリスクがある。一方後者は、同じ開発実行環境が提供されているプロバイダーならば、乗換えが可能であるが、そもそもその開発実行環境が広く採用されて乗り換えできるほどの数のプロバイダーがビジネスを継続できるかどうかがわからない。
いずれにせよ、アプリケーション開発側は、Cloud Computing でのサービスを行うならば、早い段階でそのサービスに最適なプラットフォームを選定し、その上でアプリケーションの開発を始める必要がある。