DevOps
DevOpsとは、開発(Development)と運用(Operations)を組み合わせた造語で、「デブオプス」と読む。
新しい機能開発を担うシステム開発部門と、システムの安定稼働を望む運用部門の間に壁が生じ、システムの機能・利便性向上を妨げてしまうことがある。そのような問題を解決するために考案されたのがDevOpsで、開発と運用が協力することにより、付加価値の高いシステムを継続的かつ効率的に提供する仕組みや考え方を指す。
DevOpsでは、「プラン」「コード」「ビルド」「テスト」「デプロイ」「オペレーション」「モニター」という一連のサイクルを継続的に回転させる。それを実現するための特徴的な手法の一つに、CI/CD(Continuous Integration:継続的インテグレーション、Continuous Delivery:継続的デリバリー)が挙げられる。この手法では、開発者がコードを変更した後、自動的にビルドやテストが実行され、テストを通過し本番環境へデプロイ可能であれば、自動的にデプロイメントが行われる。
リリースするまでの一連のプロセスが自動化されることで、ヒューマンエラーの防止による信頼性向上や市場投入までの開発期間の短縮の他、運用後のモニタリングデータを基に運用側の声を開発プランにフィードバックしやすくなる、などの効果が期待できる。
DevOpsを実現するには、CI/CDツールや構成管理ツール、監視ツールなどの各種ツールによる自動化が役立ち、プロジェクトのニーズや要件に応じて適切なツールを選択することで効率化を図れる。また、ツール導入など技術的な側面だけでなく、組織文化の転換が重要だといわれており、開発部門と運用部門がチームの垣根を越えた共通目標を持ち連携を深めることが、より良いシステムを生み出すカギとなる。
近年、DevOpsはIT業界にとどまらず、付加価値の中心がソフトウエアへ移り変わるといわれる自動車業界などへも広がっている。クアルコムやテスラなどの大手企業ではDevOpsの導入が進み、ソフトウエア開発を効率化するとともに、顧客の利用状況や課題をデータとしてモニタリングすることにより、システム開発・改善のサイクルを高速化し、顧客の要望に素早く対応して提供価値を高めている。