デコプスメトリクスを測る方法


DevOpsは、コードの変更を取り、ユーザーのための生産にそれらを取得するプロセスを合理化するのに役立つはずです.しかし、プロセスが「合理化される」ために、それは正確に何を意味しますか?これに答える一つの方法はメトリックを測定することです.

メトリックがなぜ重要なのか
メトリクスは、私たちが比較するために数字とキー識別子があるので、我々の品質が時間とともに同じままでいることを確認する方法を与えます.測定されて任意のメトリックを使用すると、改善や回帰を測定する方法を持っていない.彼らは、彼らが来るように反応する必要があります.
あなたのシステムがどのような条件が表示されるインジケータを知っているとき、それはあなたが比較するために定常状態を持っていない場合よりも速く問題をキャッチすることができます.これはまた、システムのアップグレードの準備をするときに役立ちます.あなたのシステムを使用するリソースの数のより正確な推定を与えることができるでしょう.
あなたがしばらくの間、いくつかの重要なメトリクスを記録した後、あなたは、あなたが彼らがより多くの必要がある場所にリソースを再配置することができますあなたのアプリケーションや方法を改善することができる場所に気づくでしょう.あなたのシステムのパイプラインの正常な動作状態を知ることは重要です、そして、監視ツールをセットアップするのに時間がかかります.
主なことは、展開プロセスを開始するときに何が起こっているかのアイデアを得るためにいくつかのメトリクスを見ることにすることです.初めに、パイプラインのための最良の指標が何であるかを理解するのは難しいようかもしれません.

あなたにとって重要な指標を考え出すこと
あなたはさまざまな条件をテストし、どのメトリクスがあなたのシステムに最も重要であるかについての詳細を学ぶカオス工学実験を行うことができます.ビルドから展開するまでの時間、パイプラインのさまざまなフェーズでキャッチされたバグの数、ビルドサイズを見ることができます.
あなたが測定しなければならないことについて考えることは、選択メトリックの有効性の難しい部分のいずれかをすることができます.メトリックを考慮しているとき、あなたのパイプラインの最も重要な結果は何かを見てください.
あなたのアプリケーションを迅速に可能な限り、エラーの関係なく、取得する必要がありますか?なぜ散発的な問題が展開プロセスを停止し続けるかを理解できますか?何が自信を持って生産にあなたの変更を得るからあなたをブロックですか?
それはどのように迅速にこれらのキーメトリックを見つけるつもりです.実験を実行し、共通の展開の問題を見て何が重要な初期に表示されます.これは、あなたのメトリクスが関連していることを確認できる方法の一つです.

監視ツール
ここではいくつかの監視ツールを使用すると、パイプラインの設定に洞察力を得るために使用することができます.
Splunk
ELK
Prometheus
あなたが監視またはちょうどあなたが持っている仮説から得る洞察に基づいて実験を走らせるカオス工学ツールの数が、あります.
Chaos Toolkit
ChaosMonkey
Gremlin Free
Kube Monkey
これらのツールのすべてのポイントは、システムが動作する方法についての仮説をテストすることです.あなたは、懸念されるかもしれない失敗の異なる点をチェックすることができます.これらのツールを使用すると、実行し、あなたの実験から学ぶことを学ぶ方法をあなたのキーdevopsメトリックが理解を開始します.

これは実際にどのように見える
例として、カオスツールキットを使って実験を準備します.開始するには、新しいファイルを作成し、それを実験します.JSONこれは実験を実行するために必要な値を保持します.
実行する実験のタイトルと説明を定義します.次に、サービスの定常状態がどのように見えるかを定義します.これは結果を比較する実験を何か与えます.
{
   "title": "Does our service tolerate the loss of its data file?",
   "description": "Our service reads data from a specific file, can it handle what happens if that file disappears?",
   "tags": [
       "tutorial",
       "filesystem"
   ],
  "steady-state-hypothesis": {
       "title": "The data file must exist",
       "probes": [
           {
               "type": "probe",
               "name": "service-is-unavailable",
               "tolerance": [200, 503],
               "provider": {
                   "type": "http",
                   "url": "http://localhost:3000/"
               }
           }
       ]
   },
  "method": [
       {
           "name": "move-data-file",
           "type": "action",
           "provider": {
               "type": "python",
               "module": "os",
               "func": "rename",
               "arguments": {
                   "src": "./data.dat",
                   "dst": "./data.dat.old"
               }
           }
       }
   ]
}
カオスツールキットを使用する詳細については、their tutorialから始めることをお勧めします.それはあなたが考えているキーメトリックは、システムには本当に衝撃的であることをいくつかを見つけるために素晴らしい方法です.

その他
あなたがパイプラインのどこであなたのメトリックを記録するのがベストであるかについて考えているとき、実験するのを恐れないでください.あなたは、時間を展開するためにどのように異なるツールがあなたの全体的な構築に影響するかを見るかもしれません.

結論
あなたのパイプラインのいくつかの重要なポイントを見るとき、それはあなたがあなたの配備をよりよくするのを助けます.パイプラインの状態がパイプラインの正常な定常状態と一致しない場合、何かが間違っていることを知っているでしょう.
私はこのようなものや他の技術の話題のすべての時間を投稿するので、あなたは私に従うことを確認してください!
あなたが最初にチェックアウトするツールを疑問に思っているなら、あなたのCI/CDパイプラインのConductoを試してみてください.それは非常に簡単に取得し、実行し、それはさらに簡単にデバッグ中に実行中です.