# ルーマンの社会システム理論とSRE ## 定義 ルーマンの社会システム理論とSREとは、社会学者 Niklas Luhmann の社会システム理論(1987年の主著『Soziale Systeme』)が提示する複雑性・オートポイエーシス(自己創出)・システムと環境の境界という概念群を、site reliability engineering におけるシステム設計とデバッグに応用する視座を指す。[[Michael Krax]]([[Google]])が SREcon21(2021-10-12)で提唱したもので、核心は「複雑性を減らせるのは複雑性のみである」というLuhmannの命題を、本番システムの複雑性管理(例: Kubernetes による標準化)に読み替える点にある。(Source: [[@2021__SREcon21__A Political Scientist's Insights into Site Reliability Engineering]]) ## 理論的骨格 - **オートポイエーシス(autopoiesis)**: ギリシャ語で「自己創出」を意味する語で、自らの存続に必要な要素を自ら生み出すことで自己を再生産するシステムを指す。Luhmann はこの概念を社会システムに転用した。 - **複雑性の定義**: 「相互に連結した要素の集合は、各要素を互いに結び付けることが要素固有のリンク容量の限界によりもはや不可能になったとき複雑になる」(Luhmann, 1987, 46)。要素数がリンク容量の限界を超えると、全結合が不可能になり複雑性が生じる。 - **複雑性=リスク**: 「複雑性とは選択の必要性を意味し、それは偶発性(contingency)を意味し、それはリスクを意味する」(同, 47)。複雑なシステムでは同じ操作が異なる結果を生みうる(=偶発的)ため、操作は本質的にリスクを伴う。 - **複雑性の低減原理**: 「複雑性を減らせるのは複雑性のみである」(同, 49)。複雑性そのものをなくすことはできず、あるリンク網を別のより単純なリンク網に置き換えることで管理する他ない——SRE文脈では、個別に設定されたスクリプト・機器群という複雑なリンク網を、Kubernetes のような標準化された構成という別の(より単純な)リンク網に置き換える例がこれに当たる。 - **システムと環境の境界**: 自己組織化システムは「外部(環境)」を必要とし、環境の複雑性をシステムが完全に処理することはできない。システムは固有のアイデンティティによってではなく、環境との「差異」によって記述される自己言及的(self-referring)な存在である。目指すべき関係は環境の完全な制御ではなく、自律性(autonomy)と環境認識(environmental awareness)である。 ## デバッグへの応用 本番環境でエラー率が局所的に微増した実例(transcript)が、この理論のデバッグへの適用を具体化する。原因サービスに版差がなく、特定クラスタを止めると別クラスタでエラー率が上がるという現象は「複雑なシステム」の徴候であり、Luhmann の枠組みでは「環境側(他システム)で何かが変化した」と推論すべき局面である。個別 RPC のノイズでは判別できなかったが、user agent でトラフィックをスライスしたところ、規約非準拠の「friendly bot」——すなわちシステムの境界(API)を越えて流入する、環境側の予期しない要素——が原因だと特定できた。これは「本番環境でレバーを引いたら想定と異なる挙動が起きた」経験=システムの複雑性の徴候、という命題の具体例である。 ## 横断的知見 - 本ソース単一のためまだ横断的比較は困難だが、[[複雑システム障害論]](Richard I. Cook の18命題等)とは異なる理論的系譜——安全工学ではなく社会システム理論——から「複雑なシステムでは介入の結果が予測不能でありうる」という類似の帰結に到達している点が興味深い。Cook の複雑システム障害論が「複雑なシステムは本質的に危険な状態を含み、事故は複数の小さな不具合の同時発生から生じる」と論じるのに対し、Luhmann=Krax の枠組みは「複雑性=環境との間でリンクしきれない要素の存在」という、より抽象的・構造的な定義から出発する。両者を架橋する比較は今後の課題である。(Source: [[@2021__SREcon21__A Political Scientist's Insights into Site Reliability Engineering]], [[複雑システム障害論]]) ## 未解決の問い - Luhmann の「複雑性を減らせるのは複雑性のみである」という原理は、Kubernetes 以外にどのようなSREプラクティス(例: サービスメッシュ、標準化された観測基盤)に一般化できるか? - 「システムはアイデンティティでなく環境との差異によって記述される」という自己言及性の視座は、SREにおけるシステム設計(API境界の設計、SLO策定)に具体的にどう反映できるか。スライドでは「フロントエンドがUnicodeを許容しレガシーバックエンドがASCIIのみ許容する」不整合の例が触れられているが、詳細な設計指針までは踏み込まれていない。 - Luhmann の一般理論書(660ページ)から抜粋された4概念(Information/Boundaries/Difference/Environment)以外に、SREへの応用価値が高い概念(機能的分化、オペレーショナル・クロージャー等)はあるか? ## 関連 - ソース: [[@2021__SREcon21__A Political Scientist's Insights into Site Reliability Engineering]] - 登壇者: [[Michael Krax]] / 所属: [[Google]] - 関連 wiki 概念: [[複雑システム障害論]] / [[政治学とSRE]] ## 出典 - [[@2021__SREcon21__A Political Scientist's Insights into Site Reliability Engineering]](Michael Krax, SREcon21, 2021-10-12) - Niklas Luhmann, *Soziale Systeme: Grundriß einer allgemeinen Theorie*, Suhrkamp, 1987(スライド内の翻訳・強調は Michael Krax による)