モダンなクラウドアプリケーション開発のベストプラクティスの一つとして、「The twelve-Factor App」が取り上げられることが多くなった。ネット企業では広く普及しているものの、エンタープライズ分野の開発では、まだそれほど知られていない。ビジネスの変化にICTが遅れずについていくためには、エンタープライズ分野の開発も、このプラクティスを取り入れていくべきだ。

 今やICTシステムはビジネスの手段として大きな要素を占めている。従来のエンタープライズシステムでは、業務のシステム化によるコスト削減や効率化という目的が中心であった。しかし、現在のICTシステムは業務基盤としてだけではなく、新たなビジネスを創出するためのツールとしての側面が重視されるようになってきている。さらに、ビジネスの変化に対しICTが迅速に追従することも求められている。

 例えば、従来のエンタープライズシステムでは、システムの改修、本番環境への展開、処理量に応じたリソース増減などに時間がかかっているのが実情である。ICTの対応の遅れにより、ビジネスチャンスを逃していないだろうか。「Twelve-Factor App」は、クラウド上で動作するアプリケーションの開発・運用に関するベストプラクティスとして誕生したが、以上のような問題に対処するためにエンタープライズ分野でも適用できると筆者たちは考えている。

 特に、システム改修やアプリケーションのリリースを容易にする点では、エンタープライズシステムにも適用できる手法が多く盛り込まれている。本稿ではエンタープライズシステムの開発・運用の視点で、従来と比較しながらTwelve-Factor Appをひも解いてみようと思う。

Twelve-Factor Appとは

 Twelve-Factor Appは、米ヘロク(Heroku)の創設者の一人であるアダム・ウィギンス氏がHeroku上でクラウドアプリケーションを開発・運用する際に行ってきたプラクティスから、12の要素(twelve factor)を抽出したものである。クラウドアプリケーションには、継続的な開発、頻繁かつ迅速なリリース、処理量に応じた柔軟なリソース配分への対応が要求される。それを実現するためには、これら12の要素を取り入れなければならない。Twelve-Factor App自体は決して体系立てて書かれているわけではないが、アプリケーション開発の作法として、一つの方向性を示している。