# Trade-Offs Under Pressure - Chapter 1: Background > 次: [[@2015__MSc__Trade-Offs Under Pressure - Chapter 2 Literature Review]] | 全体: [[Trade-Offs Under Pressure]] ## 要約 本章は、インターネットサービスが現代社会の基盤になっている事実を数値で示したうえで、その運用環境が診断・対応を本質的に困難にする性質を持つことを「不透明な手術室(An Opaque Operating Theatre)」という比喩で提示する導入・背景章である。インターネットサービスを複雑適応系(complex adaptive system, CAS)として位置づけ、Cook の「How Complex Systems Fail」補遺の引用を経て、本研究が扱う根本的な問い(エンジニアはどう考えるか、何が彼らを有能にするか)を提示して締めくくる(p.10-12)。 ## 問題設定 Introduction 節は、インターネット経由のサービスがビジネス・行政の基盤として定着した規模を数値で示す。2013年の米国電子商取引売上高は単独で2,633億ドルに達し(Census.gov, 2013)、英国の Gov.uk は日次1万人超が同時利用し、1日あたり200万セッション超のトラフィックを扱う(Thornett, 2015)。免許更新・出生証明書申請などの行政デジタルサービスがこの利用に含まれる(p.10)。 その一方で、Google(検索)、Amazon・Etsy(電子商取引)、Twitter・Facebook(ソーシャルメディア)、CNN.com・Aljazeera.net(ニュース)のような大規模インターネットサービスの一時的な喪失は、事業の健全性を損なう以上に広範な影響を及ぼしうる。米国の医療保険取引所 HealthCare.gov の立ち上げをめぐる技術的問題(Ford, 2013)や、ソーシャルメディアが選挙・地域の政策決定に強い影響を与えた事例(Bruns, Highfield, & Burgess, 2013)が例として挙げられる。こうした影響は個々の企業の管轄を超えて地政学的・経済的な境界を横断する一方、可用性問題(軽微な異常から地域的な機能・性能低下、全世界規模の障害まで)の検知と解決は、組織内の相対的に小規模な運用チームの責務にとどまる(p.10)。 ## 主要概念 ### 不透明な手術室(An Opaque Operating Theatre) インターネットサービスの運用環境は、予期しない有害事象の診断・対応において曖昧さと高い失敗コストを生む条件を備えており、その第一の要因が「システムが本質的に不透明である」ことだと本章は述べる。具体的には次の4点が列挙される(p.10-11)。 1. **多層の抽象化**: TCP/IP モデルには現時点で4層の抽象化があり(Internet protocol suite, 2013)、各層がそれぞれ異なる耐障害性・一貫性・可用性の挙動を持つ複数プロトコルでトラフィックを運ぶため、運用者から下層の複雑さが隠される。 2. **観測困難なパフォーマンス変動**: ネットワークやノードの性能変動は運用者に対して透明でも容易に入手できるものでもなく、特定のメトリクスを狙った意図的な計測が要る。ネットワークトラフィックは「起伏の激しい地形を流れる乱流河川(turbulent river over a rugged landscape)」と形容される(Veitch, Flandrin, Abry, Riedi, & Baraniuk, 2002)。 3. **サービス間の相互依存の増大**: 別組織が提供・所有・運用するサービス間の相互依存が増している。例として、Facebook・LinkedIn・Google+ などの既存ログイン情報で認証するソーシャルログイン(social login)がシングルサインオンの利便性から普及しており、2010年時点で Facebook Connect は2.5億人超に利用されていた(Van DeGrove, 2010)。これは、あるサービスの利用が、地理的・技術的・商業的に無関係でありうる別組織が運用する認証に全面的に依存することを意味する。 この不透明さは、サービスが機能低下や障害を起こした際の診断を妨げ、運用者が兆候(leading indicators)を探す健全性監視を複雑にする(p.11)。 第二の要因は、インターネットが国境や政策を横断して分散した動的なネットワークであり、中央調整エージェントが存在しないため、ノード間の経路が非決定的であることである。ネットワーク構造の絶えざる変化とノード可用性の変動がトラブルシューティングを難しくし、この問題空間の広さが「分散コンピューティング(distributed computing)」という独立した研究分野を成立させている(Distributed computing, 2014)(p.11)。 第三の要因は、インターネット上でシステムを構築・運用する組織のチームが地理的に分散し、仮想的にコミュニケーション・協調している点である。チームメンバー間には非言語的な手がかりがなく、タイムゾーンの違いによって、通常運用下でもあるメンバーが作業している間に別のメンバーは就寝しているという協調の複雑化も生じる(p.11)。 第四の要因は、インターネットサービスがオープンシステムであり、コンテンツ・情報の消費者と生産者に対して継続的に相互作用している点である。これは閉じたコンピュータネットワーク以上に複雑系としての特性をシステムにもたらす(p.11)。 ### 複雑適応系としてのインターネットサービス 本章は、複雑適応系(complex adaptive system, CAS)の基本特性がすべてインターネットサービスに見出せると述べる(Miller & Page, 2009)(p.11)。 - **結合性(Connectedness)**: ノード・経路・ユーザー・サーバー等の結びつき。 - **多様性(Diversity)**: ウェブサイトの機能や地理的・地域的な特異性における多様性。 - **適応(Adaptation)**: ネットワーク・アプリケーションの耐障害性メカニズム、および組織が有害な事態に迅速に対応する能力における適応。 - **相互依存(Interdependence)**: 複数のサービスと基盤インフラが、そのうちの1つが可用であるためだけにも無数の形で必要とされる相互依存。 インターネットサービス(「サイバースペース」)を集合的に CAS とみなす主張は、防衛・軍事の文脈からもなされている(Grisogono, 2006; Phister, 2010)。そこでは次の5特性が挙げられる(p.11-12)。 i. 因果性は複雑でネットワーク化している(単純な因果関係は成立せず、1つの結果に多くの原因・影響が寄与し、逆に1つの行動が多様な結果を招く) ii. 妥当な選択肢の数が膨大であり、最適化(合理的な時間で唯一の最善解を見つけること)ができない iii. システムの挙動には一貫性があり、反復するパターン・傾向が存在する iv. しかしシステムは固定されておらず、パターン・傾向は変化する(「規則」が変わり続け、昨日「機能した」ことが明日は機能しないこともある) v. 予測可能性が低下している(ある行動の選択肢についてすべての帰結を正確に予測することも、望む結果の集合に対してどの行動がそれを生むかを正確に定めることもできない) 本章は、Cook が「How Complex Systems Fail」への Web Operations 誌への補遺で述べた次の一節を引用する(p.12)。 > "It will be difficult to tell what has failed. Because complex systems involve tangled and shifting dependencies, the symptoms of failure are often nonspecific. This is a version of the notion of "action at a distance"; the consequences of failure are likely to be separated in time and space from the causes. When such a failure occurs, diagnosis may require very high levels of expertise to untangle the skein of components. This is problematic in the operational context because the people who are operating the system when it fails usually know little about the structure itself." (Cook, 2010) この一節を通じて、複雑系障害を推論する際に人間が直面する困難さが示される。本章はこの節を、「ソフトウェアエンジニアは自らのサービスの outage を解決しようとする際、極めて不利な立場に置かれている」という要約で締めくくる(p.12)。 ### Relevance 現代社会がインターネットサービスの可用性・機能性にますます依存し、その長時間の障害・機能低下が予期しない広範囲の影響をもたらしうる一方で、こうした複雑さと不透明さにもかかわらず、サービスが機能低下や障害を起こした際にエンジニアはそれに成功裏に対応している。エンジニアのチームは集まって観察と仮説を伝達し合い、行動を調整して決定に至り、最終的にサービスを復旧させる(p.12)。 この観察から、本論文は次の根本的な問いを立てる(p.12)。 - エンジニアは直面している outage についてどのように考えているか - 定型の手順を持たない状況で対応する際、何が彼らを問題解決に長けさせているのか ## 関連 - [[Trade-Offs Under Pressure]] - [[@2015__MSc__Trade-Offs Under Pressure - Chapter 2 Literature Review]] — 本章の問いを受けて先行研究(Naturalistic Decision Making、Joint Activity、Common Grounding 等)を検討する。 ## 出典 - 本章全文(PDF p.10-12): `.raw/theses/msc-allspaw-2015-tradeoffs-under-pressure/chapters/ch-01.txt`