DevOps公式認定

DevOpsのテキスト研修

より安全な本番デプロイになぜフィードバックが必要か


競争の激しい市場では、顧客にすばやくサービスを届け、要求に応え続けるには、品質保証部門と運用部門が開発チームから離れている体制では難しくなります。多くの開発者は組織の煩雑な手続きに不満を持っていますが、品質保証や運用の専門家と同じチームで協力できるようになっても、監督を受けずに自分たちで本番デプロイを行うことには不安を感じます。そこで、より安全な本番デプロイを実現するための技法と対策を考えます。

DevOpsで作業を途切れなく流すには

最も成功しているDevOps組織は、変更を小さなバッチに分けて、本番システムに頻繁にデプロイすることで、作業を円滑に流し続けています。DevOpsチームの全員が変更を評価して理解でき、必要に応じて修正できます。

デプロイメントパイプラインの自動化だけでは十分ではありません。本番環境と本番前環境での変更結果について、すぐにフィードバックを得られるよう、運用のテレメトリをパイプラインに統合します。また、バリューストリームとデプロイメントパイプライン全体を健全に保ち、動かし続ける責任は、DevOpsチーム全員にあるという共通認識を組織に根づかせます。

より安全なデプロイにテレメトリを活用する

設計とコードの意図どおりに動作することを証明するまでは、変更とデプロイを「完了」とは見なしません。デプロイ後は、変更したモジュールの指標、新たに作成した指標があればその値、さらに変更の影響を受ける可能性のある他のシステムコンポーネントの指標を注意深く監視します。

本番前環境で自動テストを行い、テレメトリ基盤でテスト対象を監視しても、本番システムで問題は起きます。すべてを防ぐことはできませんが、発生時に修正できるよう備えることはできます。変更でパイプラインが壊れたときは、問題を解消し、パイプラインを健全な状態に戻すため、必要な分野の専門家を集めます。よく使われる解決方法を三つ紹介します。

  1. 機能を無効にする 最も簡単な解決方法です。緊急のコードデプロイは不要で、フィーチャートグルで機能を無効にします。デプロイした内容の問題箇所をすぐに直す必要がないので、DevOpsチームは時間をかけて根本原因を正しく特定し、同様の問題が今後起きにくくなるよう、手法を改善できます。
  2. 修正版を適用して解決する(フィックスフォワード) 問題を修正するために新しいコードをデプロイします。従来型のIT組織では、本番の問題にこの方法で対応するのは危険です。DevOps組織では、テスト自動化、自動デプロイ、網羅的な本番テレメトリが整っていれば、効率的かつ安全に機能します。
  3. 変更をロールバックする 問題のあるコードを取り除きます。それで問題も解消するはずです。

開発者が実際の運用からフィードバックを得られるようにする

DevOpsチーム内で運用チームの責任を持ち回りにし、メンバーが運用インシデントを担当して対処します。こうすれば、バリューストリームに関わる全員が、後工程の課題と責任を実感できます。開発者、テスト担当者、アーキテクト、設計者、マネージャー、ディレクターも、予定外の運用対応を担い、午前3時にインシデントの連絡を受ける立場を経験します。全員が、日々の仕事での判断がどのような結果をもたらすかを具体的に考えられるようになります。

持ち回りにすると、運用の専門家が孤立し、すべてを一人で抱えていると感じにくくなります。チーム全員で、本番インシデントの修正、技術的負債の削減、新機能の開発のバランスを取ります。午前3時にアーキテクトと開発者を起こすと、インシデントへの対応は、これまでにないほど速くなるでしょう。

開発者が顧客によるソフトウェアの利用を観察すると、今すぐ改善すべき点に次々と気づきます。アーキテクト、設計者、開発者、テスト担当者が、エンジニアリングのライフサイクル内の後工程を観察するときも同じです。自分たちの作業が後工程に与える影響を理解すると、作業の品質を改善し、後工程がより良い成果を上げられるよう、成果物を調整する新たな視点が得られます。チームの全員が、運用の非機能要件をバックログに入れ、日常業務の一部として扱い始めます。そのためには、組織内に迅速で継続的なフィードバックループが必要です。

開発者が自分たちのシステムを運用する

実際の本番システムから得られた学びを開発チームに伝えるのは非常に難しいことです。そのため、Googleを含む一部の有力なDevOps組織では、製品の初回リリース時とその後のソフトウェア運用を開発チームに任せています。開発者が製品を管理している間、運用エンジニアは助言役です。本番環境でおよそ6か月間、製品が十分安定していることを実証できたら、運用チームへ引き継ぎます。本番環境で、過去および現在の不具合、テレメトリの対象範囲、時間外のインシデント、疎結合のアーキテクチャ設計、変更とデプロイの安全性など、複数の確認基準をすでに満たしている場合に限り、引き継ぐことができます。

運用チームが管理するようになってから、設計やコードに重大な問題が見つかった場合は、開発者に差し戻すことができます。開発者が管理する段階では、ソフトウェアの安定化は開発者が担当し、運用エンジニアは助言役を務めます。

まとめ

この章では、DevOps組織でデプロイメントパイプラインを円滑かつ安全に運用するためのさまざまな手法を取り上げました。

これらの手法は、DevOpsチームの開発者と運用エンジニアが互いを尊重し、協力する好例です。



無料のオンライン研修でDevOps認定試験に合格できることを保証します!

  1. 01

    オンラインで申し込む

    Accredited 認定資格を選び、申し込みを完了します。

  2. 02

    アクセスコードを受け取る

    あなた専用の試験アクセスコードが、すぐにメールで届きます。

  3. 03

    準備して試験を受ける

    無料トレーニングで学んだ後、オンラインで50問の選択式問題に答えます。

  4. 04

    無期限の資格を取得する

    世界で通用する認定証と、検証可能なデジタルバッジを受け取れます。

Certified DevOps Generalist™のサンプル
認定に申し込む

無料のプレミアムオンライン研修

DevOps Revealed 第3版を受け取る

この研修は、主要業界の著名な経営と人材のリーダー、DevOpsコーチ、メンター、専門家、第一人者が参加するコンソーシアムとともに作成しました。International DevOps Certification Academy™を訪れるすべての方がご利用いただけます。教材へのリンクは、 無料のDevOps書籍 および 無料のプレミアムDevOps研修 の二つです。どちらも上部メニューにあります。

この教材はInternational DevOps Certification Academy™が著作権を持つ知的財産です。専門知識の共有がDevOpsのプロフェッショナルを支え、この分野の発展につながると考え、誰にでも無料で公開しています。

認定試験は選択式です。オンライン研修を読んで、試験に合格し、DevOps認定を取得するための知識を身につけましょう。

この質の高い無料オンライン研修でDevOps認定試験に合格できることを保証します!