クラウドコンピューティングで広がるソフトウェア再利用の可能性とは:専用アプリケーション開発で得られる効率化
自社向け専用アプリケーションの開発をクラウド環境で行えば、コードの再利用が容易となり、リスクとコストを抑えられるようになる。
わが社のCIO(わたしのことだ)に課せられた任務は極めて困難なものだ。ときには矛盾し、ときには補完する関係にある2つの目標を達成する一方で、社内のあらゆるビジネスプロセスおよび社外のビジネスプロセスの一部をサポートしなければならない。2つの相反する目標とは以下のようなものだ。
- サービス提供の費用効果を改善する
- 企業戦略を実現する技術を開発する
この2つの目標を達成するに当たっては、注力すべき分野を注意深く取捨選択し、既に誰かが開発あるいは検証した技術をなるべく再利用することによって、リスクとコストを最小限に抑える必要があると考えた。例えば、当社で使っている製造変更プロセスは、われわれが開発したものではない。他社が何年も前から問題なく利用しているプロセスを模倣しているだけだ。CIOの立場から言えば、技術やプロセスへの投資は、ある種のリスク、そしてときとして支払いたくないコストを伴うのだ。
わたしはこのアプローチをビジネスアプリケーションにも採用している。会計アプリケーションやワープロアプリケーションなどを社内のソフトウェア開発チームで開発した方がいいような状況は、わたしには想像できない。こういったプログラムは既に誰かが開発しており、彼らのコードを再利用するか、アプリケーションを買えば済む話だ。そうすれば、わが社の開発スタッフは自分たちで開発する必要がある自社用の特殊なアプリケーション開発に専念できるのだ。
われわれはこういった専用アプリケーションの開発に、いつも喜んで取り組んできた。しかし、たとえ専用アプリケーションといえども、選択肢が存在する場合には、きちんと機能することが既に確認されているものを見つけて再利用する方がいいと思っている。IT業界の最近の流行語であるクラウドコンピューティングについてはいろいろと議論があるが、再利用というわたしの夢がクラウドコンピューティングによって現実的になってきたように思える。では、現時点でどういったことが可能なのだろうか。
わが社のIT部門では、ソフトウェア開発にクラウド環境を利用することにした。このクラウド環境は複数のユーザーが利用できるようにするために、一定の技術的標準およびアーキテクチャ的標準をサポートする必要がある。クラウド環境の選択に当たっては、こういった標準を利用できるかどうかを基準としている。このクラウド環境を利用する人はすべて同じ標準を使うことになるため、再利用のチャンスもそれだけ多くなる。
例えば、わが社独自の販売見積もりを管理するクラウドベースのアプリケーションを開発する場合を考えてみよう。わが社では非常に複雑な見積もりを作成するが、そのプロセス自体はかなり標準的なビジネスルールで構成されている。例えば、見積もりの評価・承認プロセスはほかの企業のそれと大きく変わらない。
さて、販売見積もりを評価・承認するためのワークフローシステムを既に誰かが(クラウド環境内で)開発していたとしたらどうだろうか。これは、われわれが新たに作成しなくとも、再利用できるリソースがあることを意味する。その場合でも、システムの一部を新たに開発する必要があるかもしれないが、開発に伴うコストとリスクを減らすことはできる。つまり、クラウド環境のユーザーのコミュニティーを活用すれば、より少ないコストとリスクで、より優れた製品を開発できる可能性があるということだ。
クラウドコンピューティングがもたらす数々のメリットの中でも、特殊用途向けであっても標準的な手法を採用したアプリケーションにアクセスできることが、わたしがIT責任者として目指す2つの目標(運用の改善と戦略の実現)を達成するのに最も貢献するメリットであるように思える。
本稿筆者のニール・ニコライゼン氏は米HeadwatersのCIO兼戦略計画担当副社長
Copyright © ITmedia, Inc. All Rights Reserved.