DevOpsモデルの概要と有益性

avatar

 2018.08.16  Japanブログ編集部

近年、ソフトウェアの開発は大きく変わってきました。その理由の一つは、従来のウォーターフォール型ソフトウェア開発手法の課題の解決のためでした。

従来のプロセスはこうです:ソフトウェア会社は、完成品のリリース日をクライアントから示され、締め切りを設定されます。それを受けて、プロジェクトチームが編成され、開発部門は締め切り期間内に製品開発を行い、運用部門に引き継ぎます。運用部門は、テストを実施し、完成品をデプロイします。

従来のプロセスの課題は、開発部門と運用部門間のコミュニケーションが限られ、円滑なコミュニケーションが取られていないことです。適切なコミュニケーションがなければ、プロジェクトのそれぞれの段階で、両者のインプットが共有されることがありません。

むしろ、業務は機能ごとに分離されたフェーズで進める必要があり、それが問題を引き起こしています。課題が発生すれば、プロジェクトの遅延を招き、結局は製品リリースの時期に影響を及ぼしかねないのです。

こういった問題を踏まえ、DevOpsソフトウェア開発モデルが、組織に重宝されるようになったのは当然のことです。このモデルでは開発部門と運用部門の密接な協力が求められ、部門間のマージを推進します。

その際、DevOpsはソフトウェアの開発を効率化し、従来バラバラな部門間の連携が図られ、双方ともに生産性が飛躍的に向上します。

アマゾンは、DevOpsの事業上のメリットを次のように定義しています。

DevOpsは、組織文化、プラクティス、そしてツールを組み合わせたものです。組織の迅速なアプリケーションデリバリーやサービス提供能力を強化し、推進するものです。従来のソフトウェア開発手法やインフラ管理プロセスの組織に比べて、迅速な製品開発・改良が行われます。そのスピードの速さによって、より質の高い顧客サービスを提供し、高い競争力を維持できるのです。

DevOps移行の重要なポイントは自動化で、ここ数年にわたりシステム管理者の業務を大幅に軽減してきました。

例えば結合テストの業務は自動化により簡素化されたので、システム管理者は従来より多くの時間を開発支援に費やし、統合構築管理や、新たな継続的デプロイプロセスのさらなる効率化が図れます。DevOpsの実務者は、実行と運用を任せられることでソフトウェア開発における異なる部門間の統合に注力できます。

DevOpsモデルは、開発部門と運用部門の連携を実現することで、より系統的で生産性の高い作業環境を推進します。プログラムコードの共有化によってプロジェクトの遅延も抑制されます。顧客のためにエンドプロダクトの改良を行うことも楽になります。

プロジェクトスケジュールをどちらかだけが独占的に管理するのでなく共有化することで、開発プロセスの各段階で、開発部門と運用部門は協力して、テスト、安定性の確認、セキュリティの保証などを推進することができます。

DevOps導入の利点について、簡単にご説明しましたが、これはほんの一部にすぎません。実際に導入すれば、他にも技術面では、業務の簡素化、早期課題解決、そして継続的なソフトウェアデリバリーを実現します。また文化面では、社員エンゲージメントの向上、相互指導、および広範な分野で専門性の向上を促進します。

DevOps導入に関心はあるが、具体的にはどうすればいいかわからない。そんな方のためにTripwireはデジタルブック「Driving DevOps Security: Scalable Cybersecurity Best Practices for Scalable Teams (DevOpsセキュリティの導入:スケーラブルチームのための、スケーラブルサイバーセキュリティガイドブック)」をご用意しています。本書は、DevOpsモデルへの切り替え・導入で陥りがちの落とし穴や主な手順をクローズアップし、従来型ソフトウェア開発手法からDevOpsへの切り替えを支援します。

詳細についてはTiripwareのデジタルブックをこちらからダウンロードしてください。

SANS:基本への回帰

RECOMMEND関連記事


この記事が気に入ったらいいねしよう!