クラウドサービスの効果的な活用
情報システムの開発プロジェクトでは、SEやプログラマーが作業するための開発環境(ハードウェア・ソフトウェア)を用意しますが、近年、開発環境にもクラウドサービスが利用されるようになりました。クラウドサービスをうまく活用することで、「開発環境を自前で調達するよりもコストを抑えられる」、「必要なリソース(機能、数量)を調節することができる」、といったメリットが得られ、開発プロジェクトの生産性向上やコスト削減につながります。
例えば、世の中にあるクラウドサービスを挙げれば、RackspaceCloud参考1でサーバリソースを得る、Cloud Foundry参考2でアプリケーションリソースを得る、github参考3でサービスリソースを得る、といった活用方法が考えられます。
ただし、もちろんクラウドサービスは万能ではなく、現状では実現できない事や注意が必要な事があります。それぞれのクラウドサービスのメリット・デメリット(表)を理解し、プロジェクトに合わせて工夫や準備をした上で利用することが重要となります。
表:開発プロセスで利用できるクラウドサービスのメリット・デメリット
NTTデータの開発環境クラウドサービス
NTTデータでは、上記のメリット・デメリットを考慮した上で、開発環境で利用できるクラウドサービスを独自に整備し、社内向けに提供しています。利用用途別に、工夫点を簡単に示します。
構成管理
高速な社内ネットワークを経由することで遅延を抑えると共に、負荷状況に応じてマイグレーションやプロジェクトの切り出しを実施し、処理速度を快適に保っています。
コミュニケーション管理
社内標準のプラグインをインストール済の環境を提供し、必要な処理を実行可能にしています。
アプリケーション提供
比較的容易にアプリケーションをカスタマイズ可能な各種ツール・環境を提供しています。BizXaaS PaaS(BizXaaS プラットフォームサービス)参考4として社外向けにも提供中です。
試験環境
クラウド環境と利用者が保持する物理環境が連携できるようなシステム構成にすることで、外部接続テストや物理環境のDBを利用するテストなども実施可能にしています。
参考文献
- 参考1Rackspace Cloud(外部リンク)
- 参考2Cloud Foundry(外部リンク)
- 参考3github(外部リンク)
- 参考4BizXaaS PaaS(BizXaaS プラットフォームサービス)(外部リンク)
- 参考5
CIとはContinuous Integration(継続的インテグレーション)の略で、アジャイル開発におけるプラクティスの一つで、ソースコードの変更を起点にインテグレーション(ビルド、テスト、インスペクション)を継続的に実行する事を意味します。CIを行うことにより「バグ混入の検知を早急に行うことができる」「定期的に品質評価ができる」というメリットがあります。