新たなシステムの構築では、いくつかの新常識が定着しつつある。パブリッククラウドをシステム基盤の第一候補とする“クラウドファースト”、スマートフォンやタブレットを開発の第一ターゲットとする“モバイルファースト”などが挙げられる。20年前にメインフレームからオープンシステムへ、10年前にオープンシステムからWebコンピューティングへと変化したようなターニングポイントがここ1、2年にきている。

 これらは、ITの主戦場が、収益を上げるための“サービス”の構築に移ってきていることを示している。つまり、顧客や一般消費者をターゲットとしたシステムを迅速に構築し、ニーズの変化に合わせてすばやく修正していく必要がある。自ずと、開発技術や組織・体制、運用、個人のスキルも変わってくるだろう。

運用と開発が一体になり継続的な開発へ

 そのキーワードとして第一に挙げたいのは「DevOps」だ。Dev=開発と、Ops=運用をつなげた造語である。開発部と運用部のエンジニアが一体となって、システムを継続的に発展させていく考え方を表している。従来、開発と運用のそれぞれの要望は相反し、情報共有もされていなかったため、システムの改修・発展の障害となっていた。もはやそれでは、ユーザー部門の要望に応えられない。組織、体制から見直していく必要に迫られている。

 ただ、道具なしでは、DevOpsの実践は困難を伴う。(1)改修したシステムをすばやく反映させるツール、(2)アプリケーションやサーバーへの配布を自動化できるツール、(3)運用と開発が情報共有できるツール---などが必要だ。(1)は「Jenkins」をはじめとする継続的インテグレーション(CI)ツール、(2)は「Chef」や「Puppet」などの「Run Book Automation(RBA)」ツール、(3)は「Redmine」に代表されるプロジェクト管理ツールなど---である。ツールを適切に選択し、使いこなしていくスキルが重要になる(関連記事:調査で分かった!ITの現場「新3種の神器」)。