Effective DevOps ―4本柱による持続可能な組織文化の育て方

Book description

DevOpsには技術的な側面だけでなく、開発や運用をはじめとするさまざまな部門を繋げる組織文化を構築するという重要な側面があります。本書では、主にDevOpsの文化的な事柄に着目し、異なるゴールを持つチームが親和性を高め、矛盾する目標のバランスを取りながら最大限の力を発揮する方法を解説します。「DevOpsの4つの柱」としてコラボレーション、アフィニティ(親近感、一体感)、ツール、スケーリングを挙げ、さらに組織が変化するために「4つの柱」がどのように機能するかについても解説します。 組織の内側から変化を起こし、変化を促進して組織全体へとその影響を広げ、持続可能な組織を構築する方法を紹介します。

Table of contents

  1.  大扉
  2.  原書大扉
  3.  クレジット
  4.  本書への推薦の言葉
  5.  ジョン・アレスポウによる序文
  6.  ニコール・フォースグレンによる序文
  7.  監訳者まえがき
  8.   謝辞
  9.  はじめに
  10.   効果的なdevopsを導入するには
  11.    Devops、devops、DevOps: どれがよいか
  12.   対象読者
  13.   本書の構成
  14.    ケーススタディーの方法論
  15.   表記
  16.   お問い合わせ
  17.   謝辞
  18.    リンより
  19.    ジェニファーより
  20. 第Ⅰ部 devopsとは何か
  21.  1章 大局を見る
  22.   1.1 devops文化のスナップショット
  23.   1.2 文化の発展の経緯
  24.   1.3 ストーリーの価値
  25.   1.4 リンのストーリー
  26.   1.5 ジェニファーのストーリー
  27.   1.6 devopsをストーリーで説明する
  28.  2章 devopsとは何か
  29.   2.1 文化のための処方箋
  30.   2.2 devopsの方程式
  31.    2.2.1 通俗モデルとしてのdevops
  32.    2.2.2 古い見方と新しい見方
  33.    2.2.3 devops共同体
  34.  3章 devopsの歴史
  35.   3.1 オペレーターとしての開発者
  36.   3.2 ソフトウェアエンジニアリングの始まり
  37.    ソフトウェアの課題
  38.   3.3 プロプライエタリソフトウェアと標準化の登場
  39.   3.4 ネットワークの時代
  40.   3.5 グローバルなコミュニティの始まり
  41.   3.6 アプリケーションとウェブの時代
  42.   3.7 ソフトウェア開発手法の発展
  43.   3.8 オープンソースソフトウェアとプロプライエタリサービス
  44.   3.9 アジャイルインフラストラクチャー
  45.   3.10 DevOpsDaysの始まり
  46.   3.11 devopsの現状
  47.   3.12 まとめ
  48.  4章 基本的な用語と概念
  49.   4.1 ソフトウェア開発手法
  50.    4.1.1 ウォーターフォール
  51.    4.1.2 アジャイル
  52.    4.1.3 スクラム
  53.   4.2 運用手法
  54.    4.2.1 ITIL
  55.    4.2.2 COBIT
  56.   4.3 システム手法
  57.    4.3.1 リーン
  58.   4.4 開発、リリース、デプロイの諸概念
  59.    4.4.1 バージョン管理
  60.    4.4.2 テスト駆動開発
  61.    4.4.3 アプリケーションのデプロイ
  62.    4.4.4 継続的インテグレーション
  63.    4.4.5 継続的デリバリー
  64.    4.4.6 継続的デプロイ
  65.    4.4.7 MVP(実用最小限の製品)
  66.   4.5 インフラストラクチャーに関する概念
  67.    4.5.1 構成管理
  68.    4.5.2 クラウドコンピューティング
  69.    4.5.3 インフラストラクチャー自動化
  70.    4.5.4 アーティファクト管理
  71.    4.5.5 コンテナ
  72.   4.6 文化的な概念
  73.    4.6.1 レトロスペクティブ
  74.    4.6.2 ポストモーテム
  75.    4.6.3 非難のない文化
  76.    4.6.4 組織的な学習
  77.   4.7 まとめ
  78.  5章 devopsに対する誤解とアンチパターン
  79.   5.1 devopsに対するよくある誤解
  80.    5.1.1 devopsに関係があるのは開発者とシステム管理者だけだ
  81.    5.1.2 devopsはチームである
  82.    5.1.3 devopsは肩書だ
  83.    5.1.4 devopsはウェブ系のスタートアップだけの問題だ
  84.    5.1.5 devopsには認定資格が必要だ
  85.    5.1.6 devopsとは、半分の人員ですべての仕事をすることだ
  86.    5.1.7 devopsには「正しい方法」(または「間違った方法」)がある
  87.    5.1.8 devopsを取り入れるためにはX週間/Xか月かかる
  88.    5.1.9 devopsはツールの問題だ
  89.    5.1.10 devopsとは自動化のことだ
  90.    航空業界における初期の自動化
  91.    5.1.11 devopsは一時的な流行だ
  92.   5.2 devopsのアンチパターン
  93.    5.2.1 非難文化
  94.    5.2.2 サイロ
  95.    5.2.3 根本原因分析
  96.    5.2.4 ヒューマンエラー
  97.   5.3 まとめ
  98.  6章 効果的なdevopsのための4本柱
  99.   6.1 コラボレーション
  100.   6.2 アフィニティ
  101.   6.3 ツール
  102.   6.4 スケーリング
  103.   6.5 まとめ
  104. 第Ⅱ部 コラボレーション
  105.  7章 コラボレーション: ともに仕事をする個人たち
  106.   7.1 Sparkle Corpの週次プランニングミーティングにて
  107.   7.2 コラボレーションの定義
  108.   7.3 個人の違いと経歴、背景
  109.    7.3.1 職業人としての経歴
  110.    7.3.2 個人的な経歴
  111.    7.3.3 目標
  112.    7.3.4 認知スタイル
  113.   7.4 競争優位を得るためのチャンス
  114.   7.5 メンターシップ
  115.    7.5.1 上位者から下位者へのメンタリング
  116.    7.5.2 上位者同士のメンタリング
  117.    7.5.3 下位者から上位者へのメンタリング
  118.    7.5.4 下位者同士のメンタリング
  119.   7.6 マインドセット入門
  120.    7.6.1 正しいマインドセットを育てる
  121.    7.6.2 固定思考
  122.    7.6.3 成長思考
  123.    7.6.4 個人の成長
  124.   7.7 マインドセットと学習する組織
  125.   7.8 フィードバックの役割
  126.   7.9 評価とランキング
  127.    7.9.1 フィードバックの頻度
  128.    7.9.2 ランキングシステム
  129.    7.9.3 ロックスターやスーパーフロックの問題
  130.    7.9.4 チームにとっての社会関係資本の価値
  131.   7.10 コミュニケーションと対立の解決スタイル
  132.    7.10.1 効果的なコミュニケーション
  133.    コミュニティ・オブ・プラクティスとコミュニティ・オブ・インタレスト
  134.    7.10.2 コミュニケーションの形
  135.    7.10.3 コミュニケーションのコンテキストと権力関係
  136.   7.11 共感と信頼
  137.    7.11.1 共感を育てる
  138.    7.11.2 信頼を育てる
  139.   7.12 人材配置と人事管理
  140.    7.12.1 勤務時間と健康
  141.    7.12.2 ワークライフバランス
  142.    7.12.3 チームの規模が与える影響
  143.   7.13 Sparkle Corpの効果的なコラボレーション
  144.   7.14 まとめ
  145.  8章 コラボレーション: 誤解と問題解決
  146.   8.1 コラボレーションの誤解
  147.    8.1.1 古くからのシステム管理者に新しい手法は教えられない
  148.    8.1.2 急成長したいときにはロックスターを採用しなければいけない
  149.    8.1.3 多様性に満ちたチームは効果的にコラボレーションできない
  150.   8.2 コラボレーションの問題解決
  151.    8.2.1 チームの誰かが持ち分をこなせていない
  152.    職務に対する期待
  153.    8.2.2 社員を辞めさせるかどうかを決めなければいけない
  154.    8.2.3 私は働きすぎだ、ストレスが溜まっている、燃え尽きた
  155.    8.2.4 チームのなかに軽く見られていると感じている人がいる
  156.    8.2.5 コミュニケーションが不十分な人がいる
  157.    8.2.6 社員(または候補者)に技術的には優れているけれども不愉快な人間がいる
  158.    8.2.7 現在のチーム/組織にいる限り自分のキャリアを先に進められる気がしない
  159.    8.2.8 (もう)誰も私の言うことを聞いてくれない
  160.    8.2.9 組織再編や人員整理を行ったばかりだ
  161. 第Ⅲ部 アフィニティ
  162.  9章 アフィニティ: 個人からチームへ
  163.   9.1 Sparkle Corpの開発デモの日
  164.   9.2 人のネットワーク
  165.   9.3 チームはどのように作られるか
  166.    9.3.1 チームが行う仕事
  167.    9.3.2 アフィニティの定義
  168.    9.3.3 チーム内の個人間の結び付き
  169.    9.3.4 チームの文化
  170.    devopsのアンチパターン: 文化適合性
  171.    9.3.5 チームの団結力
  172.    9.3.6 多様性
  173.    9.3.7 多様性のメリット
  174.    9.3.8 多様性とインターセクショナリティの軸
  175.    無意識の偏見
  176.    9.3.9 採用時に考慮すべきこと
  177.    9.3.10 開放的な環境の維持
  178.    ステレオタイプ脅威
  179.   9.4 チームと組織構造
  180.   9.5 チーム間で共通な地盤を見つける
  181.    9.5.1 競争から協調へ
  182.    9.5.2 チームの共感を築く
  183.    9.5.3 チームのコミュニケーションの改善
  184.   9.6 ケーススタディー:米国特許商標庁
  185.    9.6.1 背景と方向性
  186.    9.6.2 コラボレーションとアフィニティの奨励
  187.    9.6.3 複数の視点のバランスを取る
  188.   9.7 アフィニティ向上の効果
  189.    9.7.1 サイクルタイムの短縮
  190.    9.7.2 コミュニケーションの障害の除去
  191.    9.7.3 信頼
  192.    9.7.4 イノベーション
  193.   9.8 アフィニティのために必要なもの
  194.    9.8.1 遊び
  195.    9.8.2 明示的な目標と価値観
  196.    9.8.3 スペース
  197.    9.8.4 コラボレーションと協力
  198.   9.9 アフィニティの計測
  199.    9.9.1 社員のスキルと評価
  200.    9.9.2 チーム間の交渉
  201.    9.9.3 コミュニティへの返礼
  202.   9.10 Sparkle CorpのDevとOpsのアフィニティ
  203.   9.11 まとめ
  204.  10章 アフィニティ: 誤解と問題解決
  205.   10.1 アフィニティの誤解
  206.    10.1.1 運用エンジニアは企業にとって開発者ほど役に立たない
  207.    10.1.2 外部と共有しすぎると競争優位が弱まる
  208.   10.2 アフィニティの問題解決
  209.    10.2.1 ひとりまたは複数の個人がグループフローを妨害する
  210.    10.2.2 あるチームが別のチームの仕事を止めてしまう
  211.    10.2.3 一部のチームが評価されていないと感じる
  212.    10.2.4 互いに相手を信頼していないように見える
  213.    10.2.5 仕事の技術的な側面ばかり考えていて人間関係について考えていない
  214.    10.2.6 共同作業をしているチームが本当の意味で共同作業できるように見えない
  215.    10.2.7 過去の個人間の対立が現在のチーム間の対立の原因になっている
  216.    10.2.8 チームXがサイロに閉じこもりたがっているように見える
  217.    10.2.9 devopsの些細な過ちを強く非難する人がいる
  218. 第Ⅳ部 ツール
  219.  11章 ツール: エコシステムの概要
  220.   11.1 ソフトウェア開発
  221.    11.1.1 ローカル開発環境
  222.    11.1.2 バージョン管理
  223.    11.1.3 アーティファクト管理
  224.   11.2 自動化
  225.    11.2.1 サーバーのインストール
  226.    11.2.2 インフラストラクチャーの自動化
  227.    11.2.3 システムのプロビジョニング
  228.    11.2.4 テストとビルドの自動化
  229.    イボンヌ・ラムによるテスト、モニタリング、診断の定義
  230.   11.3 モニタリング
  231.    11.3.1 メトリクス
  232.    11.3.2 ロギング
  233.    11.3.3 アラート
  234.    11.3.4 イベント
  235.   11.4 エコシステムの発展
  236.   11.5 まとめ
  237.  12章 ツール: 文化を加速させるもの
  238.   12.1 人間にとってのツールの意味
  239.   12.2 ツールとは何か
  240.   12.3 本当の問題に対応する適切なツール
  241.   12.4 オープンソースとの距離
  242.   12.5 ツールの標準化
  243.   12.6 一貫性のあるツール分析プロセス
  244.   12.7 標準化に対する例外
  245.   12.8 ツールの意味
  246.    12.8.1 ツールではなくプロセスの失敗
  247.    12.8.2 ツール選択におけるコンウェイの法則
  248.   12.9 ツールが文化に与える影響
  249.    12.9.1 コミュニケーションに影響を与えるツール
  250.    ホリー・ケイ氏の「聴覚障害のある開発者であること」
  251.    12.9.2 さまざまな行動に影響を与えるツール
  252.   12.10 ツールの選定
  253.    12.10.1 製品の開発状況
  254.    12.10.2 コミュニティの健全性
  255.    12.10.3 内部でのカスタマイズの可能性
  256.    12.10.4 実例: バージョン管理システムの比較
  257.    12.10.5 実例: インフラストラクチャーの構成の自動化
  258.   12.11 ツールエコシステムの検証
  259.   12.12 ツールの削減
  260.    12.12.1 改善: 計画立案と変化の測定
  261.   12.13 ケーススタディー
  262.   12.14 DramaFeverの場合
  263.    12.14.1 既存技術の影響
  264.    12.14.2 新しい技術からの継続的な影響
  265.    12.14.3 アフィニティがプラクティスの浸透を促進する
  266.    12.14.4 DramaFeverのツール選択
  267.   12.15 Etsyの場合
  268.    12.15.1 明示的な文化と暗黙的な文化
  269.    12.15.2 思いやりの文化
  270.    感謝の重要性
  271.    12.15.3 非難のない文化
  272.    12.15.4 リモートフレンドリー
  273.    12.15.5 ツールによって取り組みを確かなものにする
  274.    12.15.6 買うか作るか
  275.    12.15.7 自動化についての考え方
  276.    12.15.8 成功の測定
  277.   12.16 モチベーションと意思決定の難しさ
  278.   12.17 Sparkle Corpの効果的なツール利用
  279.   12.18 まとめ
  280.  13章 ツール: 誤解と問題解決
  281.   13.1 ツールの誤解
  282.    13.1.1 技術Xから、他社にあわせて技術Yに移行しなければいけない
  283.    13.1.2 技術Xを使っているので、うちはdevopsを実践している
  284.    13.1.3 間違ったツールを選ばないように注意しなければいけない
  285.    13.1.4 devopsツール全部入りセットやdevops-as-a-serviceを買ってくればよい
  286.   13.2 ツールの問題解決
  287.    13.2.1 技術Xのベストプラクティスを見つけようと努力している
  288.    13.2.2 ひとつのツールにする合意が得られない
  289.    13.2.3 技術Xの採用(または廃止)を決めたが、社員がそれに抵抗している
  290. 第V部 スケーリング
  291.  14章 スケーリング: 変曲点
  292.   14.1 スケーリングの理解
  293.   14.2 大企業のdevopsについて考えるべきこと
  294.    14.2.1 devopsによる組織の戦略的拡大/縮小
  295.    14.2.2 意識的なスケーリングのために考えるべきこと
  296.    14.2.3 スケーリングのための準備
  297.   14.3 組織の構造
  298.    14.3.1 地域性
  299.   14.4 チームの柔軟性
  300.    官僚主義の横行?
  301.   14.5 組織のライフサイクル
  302.    14.5.1 吸血鬼プロジェクトやゾンビプロジェクトの整理
  303.    14.5.2 リリースサイクルの影響
  304.   14.6 複雑さと改革
  305.   14.7 チームのスケーリング
  306.    14.7.1 チームの成長: スケーリングとしての採用
  307.    14.7.2 社員の定着
  308.    燃え尽き
  309.   14.8 ケーススタディー:チームの成長とスケーリング
  310.    14.8.1 運用チームの構築と育成
  311.    強い意見と弱い執着
  312.    14.8.2 「英雄文化」の問題点
  313.    14.8.3 求人票と採用活動の問題点
  314.    14.8.4 個人とチームの育成
  315.    14.8.5 チームメンバーの育成と成長
  316.   14.9 チームのスケーリングと成長戦略
  317.    14.9.1 チームを小さく柔軟なものに保つ
  318.    14.9.2 コラボレーションを育てる
  319.    14.9.3 対立のマネジメント
  320.   14.10 組織のスケーリング
  321.    14.10.1 中央集権チームと臨時チーム
  322.    14.10.2 リーダーシップの構築
  323.   14.11 ケーススタディー:政府デジタルサービスgov.uk
  324.    14.11.1 明示的な文化
  325.    14.11.2 計画立案
  326.    14.11.3 抱えている難問
  327.    14.11.4 アフィニティの構築
  328.   14.12 ケーススタディー:Target
  329.   14.13 Targetの分析
  330.    14.13.1 望ましい結果から始める
  331.    14.13.2 大企業のなかでのアフィニティ
  332.    14.13.3 大企業のツールと技術
  333.    devopsにおけるセキュリティの重要性
  334.    14.13.4 大企業における知識の共有
  335.   14.14 まとめ
  336.  15章 スケーリング: 誤解と問題解決
  337.   15.1 スケーリングの誤解
  338.    15.1.1 一部のチームは共同作業できない
  339.    15.1.2 改革を始めるためには経営陣の全面的な支持が必要だ
  340.    15.1.3 すぐには採用の予算が得られないのでdevopsを始められない
  341.   15.2 スケーリングのトラブルシューティング
  342.    15.2.1 上がXを続けることを主張し続け、devopsの価値を認めない
  343.    15.2.2 チームが忙しすぎる
  344.    15.2.3 よい判断が下せていない
  345.    15.2.4 ほしい人材を引きつけることができない
  346.    15.2.5 組織変更や人員削減のために士気が下がっている
  347.    15.2.6 Xのために独立したチームが必要かどうかわからない
  348. 第Ⅵ部 devops文化への架け橋
  349.  16章 devopsの4本柱を使って架け橋をつくる
  350.   16.1 ストーリーの重要性
  351.    16.1.1 明示的なストーリーと暗黙のストーリー
  352.    New RelicのSREエンジニア、アリス・ゴールドフス
  353.   16.2 devopsの理論と現実
  354.    16.2.1 現実のケーススタディー:実践を示すストーリー
  355.    16.2.2 ストーリーから学ぶこと
  356.    16.2.3 ストーリーで結び付きを作る
  357.   16.3 まとめ
  358.  17章 devops文化への架け橋: ストーリーから学ぶ
  359.   17.1 ストーリーが文化について教えてくれること
  360.    17.1.1 価値観
  361.    17.1.2 禁止事項
  362.    17.1.3 神話
  363.    17.1.4 儀式
  364.    17.1.5 アイデアと知識
  365.   17.2 組織の壁を越えた交流
  366.    17.2.1 カンファレンスと出張
  367.    17.2.2 コミュニティのその他のイベント
  368.    17.2.3 エンジニア交換
  369.   17.3 組織の壁を越えたアフィニティ
  370.    17.3.1 固定思考を避ける
  371.    17.3.2 小さな変更から始める
  372.   17.4 まとめ
  373.  18章 devops文化への架け橋: 人と人のつながりを育てる
  374.   18.1 仕事をめぐる個々のストーリーとナラティブ
  375.    18.1.1 テイラー主義と個人のストーリーの価値
  376.    ホリー・ケイのdevopsについての発言
  377.    18.1.2 大切にされる人
  378.    エンタープライズフィールドソリューションアーキテクト、ニコール・ジョンソンの発言
  379.    18.1.3 リモート勤務
  380.    18.1.4 退職の形
  381.   18.2 文化的負債
  382.   18.3 システムの健全性
  383.    18.3.1 病んだシステムの分析
  384.    18.3.2 健全なシステムの構築
  385.    18.3.3 組織の健康と個人の健康
  386.    18.3.4 健全な文化と不健全な文化の見分け方
  387.   18.4 まとめ
  388.  19章 まとめ
  389.   19.1 次のステップ
  390.   19.2 効果的なdevopsを生み出すために
  391.  20章 さらに深く学習するために
  392.   20.1 devopsとは何か
  393.   20.2 コラボレーション: ともに仕事をする個人たち
  394.   20.3 アフィニティ: 個人からチームへ
  395.   20.4 ツール: 文化を加速させるもの
  396.   20.5 スケーリング: 変曲点
  397.   20.6 devops文化への架け橋
  398.   20.7 お薦めのカンファレンスとミートアップ
  399.   20.8 お薦めのPodcast
  400.  奥付

Product information

  • Title: Effective DevOps ―4本柱による持続可能な組織文化の育て方
  • Author(s): Jennifer Davis, Ryn Daniels, 吉羽 龍太郎, 長尾 高弘
  • Release date: March 2018
  • Publisher(s): O'Reilly Japan, Inc.
  • ISBN: 9784873118352

You might also like

book

実践 Keycloak ―OpenID Connect、OAuth 2.0を利用したモダンアプリケーションのセキュリティー保護

by Stian Thorgersen, Pedro Igor Silva, 和田 広之, 田村 広平, 乗松 隆志, 田畑 義之

Keycloakは、シングルページアプリケーション(SPA)、モバイルアプリケーション、REST APIなどのモダンなアプリケーションに焦点を当てた、オープンソースのIdentity and Access Management(IAM)ツールです。 小規模なウェブサイトから、数百万人のユーザーを抱える大企業まで、さまざまなシナリオの本番環境で使用されています。 本書は、開発コミュニティーのプロジェクトリーダーとコアディベロッパーが著した、Keycloakの包括的な解説書です。インストール方法から、管理コンソールやアカウントコンソールの使い方、本番環境での使用に備えた設定方法、ユーザーの管理、トークンとセッションの管理、SPIによるカスタマイズまでを詳しく解説しています。さらに、アプリケーションのセキュリティーを保護する方法や、OAuth 2.0とOpenID Connect(OIDC)を理解するための基礎知識も紹介します。さらに日本語版では補章として「クライアントポリシーによるセキュリティー保護」も収録しています。

book

Infrastructure as Code ―クラウドにおけるサーバ管理の原則とプラクティス

by Kief Morris, 宮下 剛輔, 長尾 高弘

本書は、はじめにInfrastructure as Codeの原則と考え方を説明し、次にダイナミックインフラストラクチャプラットフォーム、インフラストラクチャ定義ツール、サーバ構成ツール、インフラストラクチャサービスの4つにカテゴライズして解説します。その上で、プロビジョニングやサーバーテンプレート管理のパターンから、テスト、変更管理パイプライン、組織やワークフローのプラクティスまでを詳述しており、Infrastructure as Codeを網羅的に理解することができます。各ツールの使い方よりも、背景にあるコンセプトや考え方の説明に重点を置くことで、特定のツールに縛られることなく、Infrastructure as Codeを適切に実現することを目指します。

book

入門 Kubernetes

by Kelsey Hightower, Brendan Burns, Joe Beda, 松浦 隼人

本書は、Kubernetesコンテナオーケストレータの核となるコンセプトから使い方までを解説するとともに、アプリケーションの開発やメンテナンスを改善するためにKubernetesとそのAPIがどのように役立つのかを説明します。はじめにKubernetesの概要と、Dockerなどのコンテナ技術を利用したアプリケーション開発の利点と使用方法について述べ、次にKubernetes自体をデプロイする方法を詳述します。そして、アプリケーションのライフサイクルに関係するDeploymentや、Kubernetesとストレージの統合について学び、実際に使われているアプリケーションをKubernetes上でデプロイする方法を紹介します。

book

Heroku Cloud Application Development

by Anubhav Hanjura

A comprehensive guide to help you build, deploy, and troubleshoot cloud applications seamlessly using Heroku In …