tsalakh ain sus noam Huyah ol guf

勉強会のメモ。その他備忘録。参考にさせて頂いたサイトや資料はリンクさせて頂いていますが不都合があればご連絡ください。

【読書メモ】DevOps教科書(part.2)

2016−07−02 DevOps -A Software Architect's Perspective

これ読んだ

DevOps教科書

DevOps教科書

長いので分割、第2部

Oveview


Part1: Background

Chapter1.What Is DevOps?

本に数式を1つ入れるたびに売り上げが半分になると言われたので、数式は全く入れないことにした。
--スティーブン・ホーキング
※専門的な言葉ではなく、まずは一般的な言葉で理解しよう

In a nutshell

  • DevOpsとは、必要とされる要因と目標とは、目標を達成するためにどうしていくのか

Conclusion

  • DevとOpsの共通の目標とは?
    • デプロイまでの時間を削減すること
    • ビジネスアイデアを最終的にユーザが利用できるように
  • DevOpsがかかえる課題
  • DevOpsのトレードオフ
    • DevOpsツールのサポートが必要
    • ITProとDeveloperの職務分掌
      • 障害解析を開発に任せる、など

Chapter2. The Cloud as a Platform

コンピュータ業界は、女性のファッションよりもファッションに左右される唯一の業界だ
オレンジが新しいピンクなら、私たちはオレンジのブラウスを作る
だから、私たちはクラウドコンピューティングの発表をする、このことで争うつもりはない
--ラリー・エリソン
※なぜクラウドなのかを言い争うまでもなく、クラウドで作ろう

In a nutshell

Conclusion

  • クラウドの利用によって素早くスケーリングができる
    • ユーザ数が増えたらリソースを増やす
    • 需要が下がればリソースを解放
  • 分散コンピューティングがかかえる課題
  • IPアドレスの操作
  • 個別のコンポーネントの障害
    • 状態情報を管理
    • 異常に時間のかかっている要求を認識して復旧する
  • 運用の立場では増殖するVMの管理方法の確保

Chapter3. Operations

DevOpsコミュニティには、優れた頭脳の持ち主が数人いる。
彼らは、IT管理とは何かがわかっていて、DevOpsの枠の中でITILを上手く使える。
そして他の人々は、彼らよりも現実をしっかり把握できずにいる。  
--ロブ・イングランド
※DevOpsを理解するために、運用を理解しよう

In a nutshell

  • 運用の全体像

Conclusion

  • ITIL
    • 運用のアクティビティについて一般的なガイダン
      • HW/SWの用意
      • サービスデスクや技術エキスパートの提供
      • 日常的なITサービスの用意
    • 具体的ではなく一般的、どのように勧めるべきか
      • 例えば、
      • 「Xを目標としてAを計測する」、ではなく
      • 「Xを目標としてXを決められるような計測値を選ぶ」
  • DevOpsが運用に与える影響
    • 企業のタイプや採用されるDevOpsの実践による
    • 企業活動は、企業のために戦略的な目標を満足させるべきで、様々な改善が必要
    • DevOpsの実践は、運用のサービスの一部にインパクトを与え、それらを改善するメカニズムを提供する
  • DevOpsとITILの関係
    • ITILサービスを大規模なリリースにパッケージングすることを要求する代わりに、
    • DevOpsがさまざまなITILサービスの継続的デリバリーを提供する
    • と考えることができる?

Part2: Deployment Pipeline


Part3: Crosscutting Concerns

(横断的な関心ごと)

Chapter7. Montoring

まず、事実をつかめ
そのあとで暇になった時に事実を歪めていけばよい
--マーク・トウェイン
※何かをするために、何が起きているかを把握しよう

In a nutshell

  • システムのデータ収集・処理・解釈、エラー検知・修復、パフォーマンス問題の予測

Introduction

  • 様々なレベルでの計測値の収集
  • 集めた計測値の分析とグラフ化
  • ログ収集
  • システムの健全性についてのアラート
  • ユーザとのやり取りの計測
  • モニタリングから得られる洞察
    • エラー:実行時と事後検証時
    • パフォーマンス:システム個別、相互作用するシステム全体
    • ワークロード:短期的/長期的なキャパシティプランニング
    • ユーザ:様々なタイプのIFや商品に対するユーザの反応
    • セキュリティ:侵入者の検知
  • モニタリング
    • システムの状態変化やデータフローを、観察・記録するプロセスのこと
    • 状態変化は、状態の直接的な計測のほか、状態に影響を与える更新を記録するログでもOK
    • データフローは、内部コンポーネントと外部システムの両端の要求と応答をログに残せば捕まえられる
  • この章では、DevOpsにより新たに生まれた特徴や課題にポイントを絞る

Conclusion

  • モニタリングの目的(少なくとも5つ)
    • 障害検知
    • パフォーマンス診断
    • キャパシティプランニング
    • ユーザの反応
    • 侵入検知
  • モニタリングシステム
    • 時間ベースのデータと、イベントベースのデータ
    • モニタリングパイプライン
      • 中央リポジトリモニタリングデータを格納
      • クエリで参照でき、アラームやアラートの生成、可視化が可能
      • 分析のためには、複数のソースからのデータの相関関係が重要
  • 継続的デプロイを採用後は、変更の頻度が上がる
  • ログや計測値の量が非常に増えるため、データの収集・転送・格納をサポートする新しいインフラストラクチャが必要
  • 大量のデータを集めたら、ビッグデータアナリティクスで分析
    • システムの健全性やパフォーマンスにとどまらず、ビジネスや顧客についての洞察も可能

Chapter8. Security and Audits

過ちは人の常、本気で破滅したければルートのパスワードが必要だ
--アノニマス

In a nutshell

  • セキュリティの水準を評価する監査者の視点
  • デプロイパイプラインの保護の視点
  • 悪意のある場合、悪意なく偶然の場合の両観点で

Chapter9. Oter xxxilities

(***)

Chapter10. Business Considerations

In a nutshell

  • DevOpsを実践するための、ビジネスの面
  • 採用すべき計測のタイプ
  • 段階的な採用のためのアプローチ
  • DevOpsのビジネスプランを立てるための方法

Conclusion

  • DevOps実践を導入するには、経営層の支援が必要、メリットを説得できる支援者が必要
  • 通常の方法は、ビジネスケースを作ること
  • コスト、メリット、リスクと緩和策、ロールアウトスケジュール、成功の基準
  • 採用プロセスが軌道に乗ったら、どれくらい成功したかを計測する方法も必要

Part4: Case Studies

Chapter11. Supporting Multiple Datacenters

--

In a nutshell

  • 2つのデータセンターの同期を取る方法

Conclusion

Chapter12. Implementing a Continuous Deployment Pipeline for Enterprises

--

In a nutshell

  • 大企業に対するDevOps導入の指導内容

Conclusion

Chapter13. Migrating to Microservices

--

In a nutshell

  • 古いシステムへのMSAの導入方法

Conclusion

Part5: Moving Into the Future

Chapter14. Operations as a Process

--

In a nutshell

  • ログから個別のプロセスモデルを作り、そのモデルを使ってプロセスのエラー検知、診断、修復を進める

Conclusion

Chapter15. The Future of DevOps

--

In a nutshell

  • 組織構造、プロセス定義、テクノロジーの、5年間の変化予想

Conclusion