とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

これだけは知っておきたいDevOpsシリーズ - リリースマネージメント

従来のウォーターフォールにおける開発においてはリリースに対して非常に慎重になる傾向にありました。十分なテストを行った上で、リリース判定会議といった会議でプロジェクトの品質指標をレビューして、問題がなければやっとリリースできるといったことも珍しくありませんでした。ウォーターフォールにおいてはリリースはプロジェクトの最後の工程であるため、慎重になるのは理解できます。

一方、DevOpsにおいては頻繁にリリースを行うため、ウォーターフォールで行うような慎重なリリース可否の判断は行われません。その代わり、開発サイクルの早い段階でテストや静的解析などの品質を高める仕組みを導入し、繰り返し実行することで品質を担保するようにします。また頻繁なリリースを行うことで、問題が発生した場合の復旧のスピードを向上させることを実現しています。

とはいえ、本番環境に頻繁にリリースをすることが難しかったり、大規模障害への懸念がないわけではありません。本番環境へ頻繁に変更を加えることが難しい場合はステージング環境への頻繁なリリースにとどめ、頻度を落として本番環境にリリースをするという選択肢もあります。また、本番環境にリリースして障害が発生した場合、ユーザー全員に影響を与えてしまわないように一部のユーザーにのみ新しいバージョンをリリースして様子を見るカナリアリリースという手法もあります。これにより障害が大きな問題になることを防ぎます。

DevOpsのリリースマネージメントでは問題を極力発生させないのではなく、問題が発生したとしてもその影響を最小化するようなアプローチが取られます。