オルタナティブ・ブログ > Software Development >

ソフトウェア製品開発現場の視点

ソフトウェアサービスモデルと開発プラットフォーム

»

企業向けのソフトウェアは、これまで多くの場合、製品または受託開発として提供されてきた。しかし、近年のソフトウェアサービスモデルが多く利用されてきたことで、ソフトウェア開発プラットフォームの選定条件が変わってきている。

ソフトウェアを製品としてまたは受託開発として提供する場合、最終的にユーザの環境の中でユーザの管理の下で動作させることになるので、プラットフォームの選定は重要な意味を持っていた。たとえば、ユーザのIT部門がサーバルーム内での環境を特定のハードウェアおよび OS に統一していれば、その環境に適合した製品を持っているほうが圧倒的に有利である。そのために製品開発をする側は、競争に勝つためにマルチプラットフォーム対応が必須であった。Lotus Domino は、OS は、Windows, Linux, Solaris, AIX, IBM iSeries, IBM zSeries などで動作する。またそれぞれの OS の複数バージョンに対応しているので、実際の組み合わせは非常に多くなる。もちろん、開発するほうは、全部を別々に作るようなことはせずに、OS 依存部分をきれいに切り離すということはしているのだが、やはり OS ごとの違いがテストで見つかってあわてることも多い。

それに対して、ASP サービスのような、ソフトウェアのサービスモデルでは、マシンも OS もサービス提供側が所有して管理するので、1つのプラットフォームの1つのバージョンだけで動けば事足りる。サービスを使うユーザは、見えないところで動いている OS は気にしない (そもそも、そのあたりを気にする IT 部門が意思決定者にならないケースが多い)。

これは、ソフトウェアを開発する立場からすると非常に喜ばしい状態で、他のプラットフォームへのポーティングや、多数のプラットフォーム上でのテストなど、ソフトウェア開発において、手間がかかり効率の悪い部分を排除し、提供するサービスを増やしたり改善したり、するなどの、本質的な部分により多くの時間を使うことができるようになる。

バージョンアップや問題修正も即座にできることになるので、開発環境や開発言語もサービスで提供する環境にあったものが使われ始めている。Ruby on Rails は、最近世界的に注目を集めている (Silicon Valley でもエンジニアが不足しているということだ) が、サービスとして提供するソフトウェアの開発に非常にフィットしていることがその理由の一つだと思う。

Comment(0)