アダプティブキャパシティラボの共同設立者、ジョン・オールスポウ

システムが日々稼働し続ける方法

最初に、Adaptive Capacity Labsの共同設立者であり、Etsyの元最高技術責任者であるJohn Allspawについて少し説明します。

Allspawは、ソフトウェアおよびシステムエンジニアリングに従事するチームの構築および指導で20年以上のエンジニアリングリーダーおよび研究者として、過去10年間、ヒューマンファクター、認知システムエンジニアリング、およびレジリエンスエンジニアリングからソフトウェアエンジニアリングおよびオペレーション。

また、2冊の本「The Art of Capacity Planning:Scaling Web Resources」と「Web Operations」(O’Reilly Media)の著者でもあるAllspawは、新しくエキサイティングな研究に関する講演とコラボレーションを通じてITとDevOpsコミュニティに貢献し続けています。

サンフランシスコで開催されたDevOps Enterprise SummitでJohnをホストできたことは幸運でした。そこで彼は「システムが毎日どのように稼働し続けるか」について話をするためにステージに上がりました。 。

DOES17サンフランシスコでのジョン・オールスポウ

ジョン・オールスポウ

システムが日々稼働し続ける方法

私が話したいのは新しいことです。それは異なっており、私はこれについて非常に強く感じています。

ステージの設定を支援するために、ヒューマンファクターとシステムの安全性に関する学位の私の論文は、「圧力下でのトレードオフ:ヒューリスティックとインターネットサービス停止を解決するチームの観察」でした。

皆さんの中には、これを聞いたことがあるかもしれない、いわゆるステラ報告書です。

高いレベルでは、このレポートは業界パートナーのコンソーシアムの1年間のプロジェクトの結果です。 IBM、Etsy、およびIEX、商社、マンハッタンの取引所。今年、オハイオ州立大学コグニティブシステムズエンジニアリングラボ、デビッドウッズ、リチャードクック、その他多くの人々が、これらの各組織の事件を深く見ました。

彼らはこれらの6つのテーマを見つけ、それらすべてに共通していた。

確かに結果は非常に重要です。その研究がどのように行われたかを皆さんに見てもらいたいと思います。

レポートからの主なポイントは次のとおりです。

  1. この業界で人間のパフォーマンスを真剣に考え始めなければなりません。そうでなければ、私たちのビジネスと社会にますます影響を与える脆弱なシステムを引き続き見るでしょう。
  2. これは、現在の事後分析、事後レビュー、または事後レビューで行っていることを超えたインシデントを調べることで実現できます。
  3. 他の領域のレジリエンスの研究からの方法とアプローチは存在しますが、追求するには真のコミットメントが必要です。これを行うことは必要であると同時に困難でもありますが、それをうまくやる企業にとって競争上の優位性であることが証明されます。

最初に、少しベースラインから始めたいと思います。これについて少し説明する際に重要となる語彙を少し説明します。組織のメンタルモデルのような、一種の画像、表現を説明します。これには、境界線を超える領域と境界線を下回る領域があります。

ここで私たちが描いたものを想像すると、これはあなたの製品、サービス、API、またはあなたのビジネスが顧客から価値を引き出し、顧客に提供するものです。はい?そこに見えるのはあなたのコードです。技術スタックが表示されます。データとこれを提供するさまざまな方法がありますよね?おそらくインターネットまたはその他の方法で。しかし、私たちがここに留まると、それがシステムと呼ばれるものだと誰も信じないでしょう。

実際に接続されているもの、および多くの人々がここでDevOps Enterprise Summitコミュニティで話していることは、そこで行われていることを操作するために行うすべてのことなので、テストツールがあります。監視ツールがあります。展開ツールと、あらゆる種類の配線されたものがあります。これらは私たちが使用するものです。私たちの多くは、そこにある小さなバブルの中ではなく、その周りにあるすべてのものに集中して時間を費やしているため、これがシステムであると言えますが、これだけにとどまる場合は、実際の作業がどこで発生するかを見ることができなくなります。

ここでやろうとしていることは、表現の線と呼ぶ線を引き、それからもう少し深く掘り下げます。ここにあるのはあなたです。システムを変更するために、システムに追加する準備を整えているすべての人々。あなたは建築のフレーミングを行っています。監視しています。あなたはそれが何をしているのか、それをどのようにやっているのか、彼らと何が起こっているのかを追跡しています。

今、あなたはこれらの人々のそれぞれがそのシステムが何であるかについてある種の精神的な表現を持っていることに気付くでしょう。少し詳しく見てみると、どれも同じではないことがわかります。ところで、それはこれらのタイプの役割の非常に特徴的です。線の下にあるものの同じ表現を持っている人はいません。

要約すると、これは私たちの世界のモデルであり、そこで実行されているものだけでなく、すべての人、あなたが実行している活動の種類、その世界を機能させるためにあなたがしている認知作業も含まれます。これをもう少し試すと、この種のモデルになります。このモデルには、真ん中を通る表現のラインがあり、一連の表現を介してラインの下の世界とやり取りします。

あなたの相互作用は、物そのものとは決して関係ありません。実際にシステムを変更することはありません。

あなたがすることは、あなたが表現と対話することであり、その表現は以下で何が起こっているかについての何かです。これらの緑色のものは、日中に見ている画面と考えることができますが、システムに関する情報はこれらの表示からのみ得られます。それらはほんの小さな鍵穴です。右?

それについて重要なことは、あなたが行うすべての活動、観察、推測、予測、計画、修正、すべてのそのような種類のすべてがそれらの表現を介して行われなければならないということです。線の下にあり、あなたと私たちはほとんど線の下にある世界について、まるでそれが非常に具体的であるかのように、まるでそれが何かであるかのように話していますが、それは驚きです。

ここに大きな問題があります-あなたはそれを見ることはありません。

存在しません。本当の意味では、実際に触れることができる線の下にはありません。コードが実行されることはありません。システムが実際に機能することは決してありません。あなたはそれらのものに決して触らない。

行うことは、一連の表現では見ることができない世界を操作することです。そのため、これらのメンタルモデル、概念、何が起こっているかについての理解を構築する必要があります。これらは、その操作を推進しているものです。それをしているのは、境界線下の世界ではありません。過去に起きたこと、今やっていること、なぜそうしたことをしているのか、重要なこと、実際に重要な理由を理解するのは、あなたの概念的な能力です。

この視点を採用したら、境界線の下があなたが扱っているものであるという考えが離れると、境界線の上で本当に働いていることを理解すると、あらゆる種類のことが変わります。

Stella Reportとそのプロジェクト、および私たちが取り組んできた他のプロジェクトであなたが見ているのは、その見方を理解しており、超一流の世界を真剣に受け止めることの本当の意味を理解していることです。これは、これまで見てきた多くのことからの大きな逸脱ですが、私たちがとらなければならない実りある方向だと思います。

つまり、個人および組織全体のチームでのこれらの認知活動(下記参照)は、ビジネスを実際に機能させるものです。今、私はここでかなり長い間これを詳細に研究してきました、そしてあなたにこれを伝えることができます。私たちが思っているようには機能しません。

最後に、このフレームを設定するために、このアイデアの最も重要な部分は、これらすべてが時間とともに変化することです。これは継続的な動的プロセスです。これは分析の単位です。そのフレームを取得したら、いくつか質問をすることができます。このような境界線についていくつかの質問をすることができます。

「私たちのソフトウェアは実際にどのように機能しますか。それに対して、Wikiやドキュメント、図でどのように説明されていますか?これらは包括的ではなく、包括的に正確ではないことがわかっています。」

「セーフガード、サーキットブレーカー、ガードレールを設計したときにソフトウェアが壊れると思っていたのに対して、ソフトウェアは実際にどのように壊れていますか?」

「すべての機能を維持するために何をしますか?」

質問:組織を想像してください。今日の6時にすべての会社がキーボードから手を離したらどうなりますか?彼らはどのページにも答えません。彼らはアラートを見ません。それらは、アプリケーションコード、ネットワーク、またはそのいずれにも触れません。 1日後にサービスが稼働すると確信していますか?

問題は、境界線上で何が起こるかをどのように発見するかです。さて、いくつかのことがあります。他の高速で影響の大きいドメインの研究から学ぶことができます。そうすれば、インシデントを研究できることがわかります。 (注:「インシデント」と言うとき、停止、劣化、違反、事故、ニアミス、グリッチを意味します。基本的には不都合な、または予期しないイベントです)。

インシデントを面白くするものは何ですか?明らかなのは、収益の損失と特定のビジネスへの評判の影響です。インシデントが興味深い理由は他にもいくつかあります。 1つは、インシデントが新しいコンポーネントサブシステムとアーキテクチャの設計を形成することです。言い換えれば、昨日の出来事は、アーキテクチャに明日のことを知らせます。つまり、インシデントは、システムをより良くする方法についての想像力を刺激するのに役立ちます。したがって、私が意味するのは、ラインより下のインシデントがラインより上に変化することです。

それが問題です。これには実際の費用がかかります。インシデントは、時には暗黙的または目に見えない効果をもたらす場合がありますが、重大な場合があります。現在、多くの人々がモノリスをマイクロサービスに分割しています。多くの人がそうしているのは、あなたが持っていないある程度の堅牢性を提供するからです。どこで入手できますか?

インシデントが通知されます。

インシデントを見るもう1つの理由は、新しい形式の規制、ポリシー、規範、コンプライアンス、監査、制約などを生む傾向があることです。これを示す別の方法は、昨日のインシデントが明日のルールを通知し、人員配置に影響を与えることです、予算、計画、ロードマップなど。例を挙げましょう。金融取引において、SECはレギュレーションSCIを導入しました。 SCIは、おそらく現代のソフトウェア時代における最も包括的かつ詳細なコンプライアンスです。 SECは廃止され、非常に明確になりました。これは、2010年のナイトキャピタル、BATS IPO、Facebook IPOへのフラッシュクラッシュに対する反応としてあります。それは事件に対する反応です。

少し戻っても、PCI DSSは、MasterCardとVisaがメモを比較し、10年間で約7億5,000万ドルを失ったことに気づいたときによく出てくると言われています。そのため、インシデントは重要です。公開会社の元CTOである私は、これは非常に費用がかかり、注意をそらし、すべての組織にとって厄介なアホウドリであることを保証できます。インシデントもこのように重要ですが、インシデントを機会と考える場合、インシデントをメッセージと考える場合、ラインの下にあるエンコードされたメッセージがラインの上に送信され、インシデントについて考える場合、あなたの仕事はそれらをデコードすることです十分に理解しているが、理解していないと思われるシステムの部分に積極的に注意を向けようとするものとして、これらはすべてがどのように機能するかについての自信を継続的に再考する必要があることを思い出させるものです。

さて、あなたがこの見方をすると、たくさんのことが開きます。新しいトレーニング、新しいツール、新しい組織構造、新しい資金調達のダイナミクス、および競合他社にはない洞察の機会があります。

インシデントは、システムがどのように機能するかとシステムがどのように機能するかを判断するのに役立ちます。このデルタは、ほとんどの場合、想像よりも大きくなります。おそらくあなたが慣れているかもしれない別のテイクを主張したいのですが、それがこれです。インシデントは、企業の存続期間中の企業に対する計画外の投資です。システムがどのように機能するか、注意すべき脆弱性、およびあなたが追求していない競争上の優位性を理解するための非常に貴重な機会です。

インシデントについて考えると、お金、時間、評判、スタッフなどを燃やします。これらは避けられない埋没費用です。ただし、この種の投資については興味深いことがあります。投資の規模を制御しないため、疑問が残ります。その投資のROIを最大化するにはどうすればよいですか?

インシデントを見ると、これらは私たちが聞く質問のタイプであり、研究者が他の複雑なシステム、ドメインで見つけるものと非常に一貫しています。何してるの?なぜそれをしているのですか?次に何をしますか?どのようにしてこの状態になったのですか?何が起こっている? Yを実行する場合、何をすべきかを判断するのに役立ちますか?悪化していますか?修正されたようですが、そうですか? Xを実行すると、悪化を防ぐことができますか、それとも悪化させますか?私たちを助けることができる他の誰を呼ぶべきですか?これは私たちの問題ですか、それとも攻撃されていますか?これは他の多くのフィールドと一致しています。航空、航空交通管制、特にオートメーションが豊富な分野で。

注目すべきもう1つのことは、インシデントの始まりであり、これが私たちを沈めるものであるかどうかについて不確実または曖昧であることが多いことです。インシデントの開始時には、特に、それが膨大な量の不確実性と膨大な量のあいまいさを含んでいるかどうかはわかりません。不確実であいまいな場合は、メンタルモデルが使い果たされていることを意味します。彼らは私たちが見ているものと合わない、そしてそれらの疑問が生じる。それが会社を倒したイベントだったのか、それとも厳しい火曜日の午後だったのかを後知恵だけが教えてくれます。

インシデントは、意思決定の焦点、注意の焦点、調整の焦点、エスカレーションの焦点に関するキャリブレーションを提供します。時間的プレッシャーの影響、不確実性の影響、あいまいさの影響、および結果の結果。研究はこれらの機会を検証します。

「私たちは、インシデントを「非日常的な挑戦的なイベントとして深く見る必要があります。これらの困難なケースは、専門知識や関連する認知現象の要素を発見する可能性が最も大きいからです。」
–ゲイリークライン、自然主義的な意思決定研究の創始者。

使い古された方法、アプローチ、テクニックのファミリーがあります。認知タスク分析。プロセスのトレース。会話分析。重要な決定方法。事後分析に価値があると考える方法は、次のようになります。

インシデントが発生します。たぶん誰かがタイムラインをまとめるでしょう。ちょっとしたミーティングがあります。たぶん、あなたはテンプレートを手に入れて、それを記入し、誰かがレポートを作成するかどうかを決めるかもしれません。そうすれば、最終的にアクションアイテムが手に入ります。最大の価値、おそらくおそらく最も価値のある価値は、あなたが報告会をしていて、人々がタイムラインを歩いているところだと思います。「ああ、私の神。これはすべて知っています。」

これは、研究が裏付けるものではありません。この調査は、複数の場所から主観的および客観的データ、行動データ、人々が何を言ったか、人々が何をしたか、どこを見て、診断のどの道をたどり、実りがなかったのかを証明していますよく行われたデブリーフィングは、人々に必然的に欠陥がある精神モデルを対比させ、比較させます。ブートキャンプ、オンボーディング資料、新規採用トレーニングなど、さまざまな結果を生み出すことができます。ファシリテーターをトレーニングするプログラムを作成すると、ファシリテーションフィードバックを得ることができます。ロードマップの変更を行う場合がありますが、学習内容に基づいて本当に重要な変更を行うことができます。

いくつかの経験からこれを伝えることができます。新しいエンジニアやキャリアを始めたばかりのエンジニアにとって、大声で言ったことがないことを説明している隅々までのベテランエンジニアと一緒にいることほど、洞察に満ちたものはありません。彼らは知識を持っています。彼らは、他の誰もがそれを知っていると思うので、今まで描いたことのない絵や図を描くかもしれません。何だと思う?彼らはしません。これらの結果の品質は、その再調整の品質に依存するため、実際には最大の価値がここにあります。これは、メンタルモデルを再調整するための入り口です。

Stella Reportから、「システムの仕組み、脆弱性に対する理解、および調査に利用できる機会についての人々のモデルを通知し、再調整します。」

多くの研究で、ステラレポートに含まれるすべての研究で、Etsyでの私の経験にも適合します。これは、この比較と対照的。 「私はそれがそのように機能することを知りませんでした。」そして、他に常に「それがどのように機能したのか」があります。それが意味するのは、それが私がそれが異なる方法で働いたと思った方法だけではありません。今では、想像することすらできず、どのように機能したのかを思い描くことさえできません。それはもっと不安になるはずです。ところで、これはアライメントではないと言いたいです。私が言ったように、表現を介して、我々は必然的に不完全なメンタルモデルを持っています。彼らは常に不完全であり、物事は常に変化しているため、彼らは欠陥があるだろうので、アイデアは同じ精神モデルを持つことではありません。誰もが同じ盲点を持っているので、私たちは誰もが同じ精神モデルを持ちたくないのです。

Blameless — 2012年に書いたブログ投稿に戻る

「Blameless」はテーブルステークスです。必要ですが、十分ではありません。報復を恐れることなく、散らかった詳細、時には恥ずかしい詳細のすべてで人々がストーリーを語ることができる環境、文化、抱擁、親切な組織を構築することができます。何が起きているのかを理解する際に、その条件を設定しても、あまり学習しないことができます。十分ではありません。必要ですが、十分ではありません。私が話しているのは、典型的な事後レビューよりもはるかに多くの努力です。右?これは、アナリスト、ファシリテーターが行動データを準備、照合、整理、分析できる場所です。人々が言うこと、人々がすること。デブリーフィング、グループデブリーフィング、1対1のデブリーフィングの準備のためにふるいにかけることができる大量のデータがあります。事後分析は、事件の豊富さを示唆しています。これをフォローアップするには多くの作業が必要です。

ちなみに、一般的に、ストレスがたまるほどの停電やインシデント、またはイベントが発生すると、誰もが非常に疲れ果ててしまい、時にはすべてが明確になります。それが後知恵の力であり、非常に明確であるように見えるため、結果報告を行うことは生産的ではないように思えます。もう1つの問題は、事後説明会も時間によって制約されることです。会議室は1〜2時間しかありません。誰もが本当に忙しく、時計は刻々と過ぎているので、これらの研究方法を考えると、これを本当にうまくやるには挑戦です。

もう1つの問題、特にEtsyで行ったように報告会のファシリテーショントレーニングプログラムを構築する場合、まだ課題が残っています。私がそれを呼ぶのが好きなのは、「誰もが解決すべき独自のミステリーを持っている」、または「すでに知っている詳細に時間を無駄にしないでください」です。漫画のように、あなたはそれをこのように考えることができます:

1時間しかない場合があるため、できるだけ多くの学習を抽出する必要があります。すべての作業は文脈依存です。 ROIを最大化するための仕事は、インシデントで作業が行われるコンテキスト、作業方法、および人々がどのように境界線を超えて考えるかを発見、調査、および再構築することです。

評価はトレードオフであり、コンテキストに依存します。

最後に、すべてのインシデントが悪化する可能性があります。表面的な見方は、「何がうまくいかなかったのか?どうやって壊れたの?これらは非常に合理的な質問です。より深いレベルになって、「これほどまでに悪くないようになったものは何ですか?」それらのもの、私たちはそれらのものをサポートするのをやめるかもしれません。

たぶんそれが悪化しなかった理由は誰かがリサに電話したので、リサは彼女のものを知っています。調査の結果、専門家はそこにないものを見ることができます。あなたがリサをサポートしておらず、それが悪化しなかった理由がリサがそこにあったからだとさえ特定​​できない場合。少しの間何かを修正するためのアクションアイテムは忘れてください。リサが新しい仕事に就く世界を想像してください。

戦略的なレベルで役立つことは、より良い質問です。 「私たちのシステムでの継続的な理解プロセスをどのように支援、奨励、支持、資金提供できますか?そして、実際に持続的な方法で「ラインを超えて」取る?

ここからどこにいきますか?あなたのためにいくつかの課題があります:

  1. 会社でStellaレポートを配布し、対話を開始します。忙しすぎたり、自分で読むことができない場合でも、そうする人にあげてください。共鳴するものを尋ねます。意味をなさないものを尋ねます。彼らに尋ねて、対話を始めてください。
  2. イベント後のレビューの処理方法を詳しく見てください。最も重要なことは、作業がどのように行われるかについての厄介な詳細に最も精通している人々を見つけて、「現在のインシデント後レビューは本当にどのような価値があると思いますか」と尋ねてください。
  3. 競合他社よりもインシデントからより迅速に学ぶ責任を負います。学習組織を構築するか、ある組織に負けています。
  4. 人間のパフォーマンスを真剣に考える必要があります。この議論は起こっています。それは原子力で起こっています。それは医学で起こっています。航空、航空管制、消防で起きています。

システムの重要性の増大、システムが適切に機能しない場合の経済的、政治的、および人的被害の可能性の増大、依存関係の拡散および関連する不確実性のすべてが非常に心配しています。自分のシステムとその問題を見ると、この問題を認める以上のことをしなければならないことに同意すると思います。私たちはそれを受け入れなければなりません。この情報、これらのアイデア、およびDevOps Enterprise Summit San Francisco 2017からの私のプレゼンテーションを広めてください。

私はあなたから聞きたいです。これについてあなたに共鳴したのは何ですか?何がなかったのですか?これらの方針に沿って、組織でどのような課題に直面していますか?教えてください。私はTwitterにいます。

当初、2018年4月30日にitrevolution.comで公開されました。