CARVIEW |
Select Language
HTTP/2 200
date: Fri, 10 Oct 2025 03:57:26 GMT
content-type: text/html; charset=utf-8
cache-control: max-age=0, private, must-revalidate
cf-cache-status: DYNAMIC
link: ; rel=preload; as=style; nopush,; rel=preload; as=script; nopush,; rel=preload; as=style; nopush,; rel=preload; as=script; nopush,; rel=preload; as=script; nopush
nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
referrer-policy: strict-origin-when-cross-origin
report-to: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=xBhILSwWXTRj%2FkFs%2F9eYSb4DPdcEvK6G9TDZxmZm8dM%3D\u0026sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d\u0026ts=1760068646"}],"max_age":3600}
reporting-endpoints: heroku-nel="https://nel.heroku.com/reports?s=xBhILSwWXTRj%2FkFs%2F9eYSb4DPdcEvK6G9TDZxmZm8dM%3D&sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d&ts=1760068646"
server: cloudflare
strict-transport-security: max-age=0; includeSubDomains
vary: Accept,Accept-Encoding
via: 2.0 heroku-router
x-content-type-options: nosniff
x-permitted-cross-domain-policies: none
x-request-id: 7918e55c-95f7-9fd2-4d3a-9184290ec9cf
x-runtime: 0.135238
x-xss-protection: 0
content-encoding: gzip
set-cookie: _secure_speakerd_session=IhmJnSEPzK3LUD1p29M3D6AJYlKoFed8c11sRJEOCvVIpdBRl6nWtM7hVXYXYf6RrK3T39TjUHKrFS1GUkGgeQRjC45vgqHE1rP%2F03Ia8xWE1JG8uoqM%2FGvHqjTq8VPA%2Bsdpj1Oc%2B2IdizPjyZnyXIejs%2FhzqoqiRRcZIRed03yXxSDdGnzvOMSZ0D%2F%2BwjnEctPTUds3qSVW33Q2K3uTFWi3G1uivvwJXm0HqnFcndtARi5nGEP%2BMAdu63AQl%2B0zBmhMnlquDYhvRglKAl0873A8GxTGLBO6pMkpLoVOkLckxhC5qJOH%2F0c%2FfFtF8HPsyDdT%2FOHl9Seen5d3zLjgk1FuxMRcGscs5tq9%2Btsz54bbMyNQXhTE6LwvtQwKqwU%2BvMGZrskCjezq%2BftU5YTLNs4E--ErZz%2B4nhQcWPwj%2B3--PAWuTDmwaGK71NirN2jTvg%3D%3D; HttpOnly; SameSite=Lax; Secure; Path=/; Expires=Fri, 24 Oct 2025 03:57:26 GMT
cf-ray: 98c3318c781c9dfd-BLR
分散アプリケーションの信頼性観測技術に関する研究 / A study of SRE - Speaker Deck
分散アプリケーションの信頼性観測技術に関する研究 / A study of SRE
SRE NEXT 2020 IN TOKYO https://sre-next.dev/
Yuuki Tsubouchi (yuuk1)
January 25, 2020
More Decks by Yuuki Tsubouchi (yuuk1)
Other Decks in Research
Featured
Transcript
-
分散アプリケーションの信頼性観測技術 に関する研究 Yuuki Tsubouchi / @yuuk1t SRE NEXT IN TOKYO
2020 基調講演 2020.01.25 -
2 ⾃⼰紹介 Yuuki Tsubouchi / ゆううき https://yuuk.io/ ܦྺ 株式会社はてな Webオペレーションエンジニア・SRE
さくらインターネット株式会社 さくらインターネット研究所 研究員 Webサービスの 開発・運⽤ インターネット 基盤技術研究 5年 現在 Site Reliability Engineering(SRE) Researcher @yuuk1t 情報処理学会 インターネットと運⽤技術研究会 運営委員 セキュリティ・キャンプ全国⼤会講師 id:y_uuki -
4 1. 研究の背景 2. 研究の⽬的 3. 互換性と性能を両⽴する時系列データベースの研究 4. 分散アプリケーションの依存関係追跡技術の研究 5.
地理分散協調クエリキャッシングの研究 6. むすび ⽬次 -
7 Ironies of Automation (1983) ⾃動化の⽪⾁ 1. ⾃動化により⼈間の作業負担(Toil)を低減できる 2. しかし,⾃動化すればするほど⼈間の認知負荷が⾼まる
3. 認知負荷に耐えられるように⾼度な訓練が必要となる • L. Bainbridge, "Ironies of automation,” Analysis, design and evaluation of man–machine systems, pp.129-135 1983. • G. Baxter, et al. "The ironies of automation: still going strong at 30?,” the 30th European Conference on Cognitive Ergonomics 2012. • B. Strauch, "Ironies of automation: Still unresolved after all these years," IEEE Transactions on Human-Machine Systems, vol. 48, no. 5, pp. 419-433 2017. • J. Paul Reed, “When /bin/sh Attacks: Revisiting "Automate All the Things”,” USENIX LISA19 2019. • Tanner Lund, “Ironies of Automation: A Comedy in Three Parts,”, USENIX SREcon19 Asia/Pacific 2019. ⼈間と計算機をあわせた制御系の設計が必要となる -
10 いかに失敗のリスクを⼩さくできるか? リスクの事前予測 ・キャパシティプランニング ・サブシステム間の依存関係 の把握 (後述の研究2) ・… リスクの事後最⼩化 ・⾃動回復(フェイルオーバー)
・アラーティング ・因果関係の特定(分散トレー シングなど) ・インシデント対応体制の構築 ・⾼速なデプロイメント ・… リスクを⼩さくできると 恐怖が⼩さくなり変更速度が⾼まり 結果的に信頼性も⾼くなる -
12 応答性能に占めるネットワーク転送遅延の問題 S Choy, B Wong, G Simon and C
Rosenberg, “The Brewing Storm in Cloud Gaming: A Measurement Study on Cloud to End- User Latency,” 11th Annual Workshop on Network and Systems Support for Games, Annual Workshop on Network and Systems Support for Games (NetGames), pp. 1-6 2012. (1)利⽤者の端末 上での処理 (2) ネットワーク遅延 (3) データセンター内の処理 Cloud ・クラウドゲーミング環境で,(2)が⽀配的であるという研究がある ・100msのうち80msを占める -
14 地理的に分散したコンピューティング ・複数リージョン構成 ・災害回復や海外の利⽤者とのネットワーク遅延を短縮 ・エッジコンピューティング,フォグコンピューティング ・利⽤者とクラウドのネットワークの間でコンピューティングを実 ⾏し,ネットワーク遅延を短縮 ・超個体型データセンター(さくらインターネット研究所提唱) ※ ・⼩・中規模データセンターを全国の都市単位で配置
※ݡ, ݸମܕσʔληϯλʔΛࢦ͢ݚڀॴͷϏδϣϯ, 2019 https://research.sakura.ad.jp/2019/02/22/concept-vision- 2019/. -
15 地理分散コンピューティングの問題意識 システム構成要素の増加 システム内ネットワーク遅延 の増加 ・メトリック数の増加 ・サブシステム間の依存関係 の複雑化 ・データセンター間のネット ワーク遅延はクラウド内の遅
延よりも⼤きい ・各データセンター間でデー タを同期書き込みするときに 性能が低下する 可観測性(Observability) の重要性が増す -
20 先⾏研究と課題: 可観測性 時間軸⽅向の可観測性 空間軸⽅向の可観測性 ・性能を重視して実装を時系 列データに最適化している ・既存のDBMSを利⽤した互 換性や拡張性が失われる ・サブシステム間の依存関係
を追跡すること ・既存のアプリケーション コードの変更をともなう, あるいはアプリケーション に与 える性能影響が⼤きい -
21 先⾏研究と課題: データ⼀貫性 ・強⼀貫性の場合,同期待ち時間 が⼤きくなる 既存のアプリケーションや既存のDBMSのコード変更が必要 アプリケーションの性能影響が⼤きい ・結果整合性モデルの場合,⼀貫 性に対するアプリケーション開 発者の責任範囲が⼤きくなる
NoSQL 遅延の⼤きな環境での性能とデータ⼀貫性の両⽴ NewSQL -
22 研究の⽬的 ・⼤⽬的: 地理的に分散したアプリケーションの信頼性向上 ・制約: 既存のアプリケーションやミドルウェアのコードを変更せず, 性能影響をあたえない ・3つの⽬的 1. 時間軸の可観測性:
時系列データベースの性能と互換性の両⽴ 2. 空間軸の可観測性: 依存関係を低負荷かつ網羅的に追跡 3. データの⼀貫性を保証しつつ,応答性能を最⼤化できるように制御 -
3. 互換性と性能を両⽴する 時系列データベースの研究 Yuuki Tsubouchi, Asato Wakisaka, Ken Hamada, Masayuki
Matsuki, Hiroshi Abe, Ryosuke Matsumoto, “HeteroTSDB: An Extensible Time Series Database for Automatically Tiering on Heterogeneous Key-Value Stores”, Proceedings of The 43rd Annual IEEE International Computers, Software & Applications Conference (COMPSAC), pp. 264-269, July 2019. -
24 研究の⽬的(再掲) ・⼤⽬的: 地理的に分散したアプリケーションの信頼性向上 ・制約: 既存のアプリケーションやミドルウェアのコードを変更せず, 性能影響をあたえない ・3つの⽬的 1. 時間軸の可観測性:
時系列データベースの性能と拡張性の両⽴ 2. 空間軸の可観測性: 依存関係を低負荷かつ網羅的に追跡 3. データの⼀貫性を保証しつつ,応答性能を最⼤化できるように制御 -
26 HeteroTSDBΞʔΩςΫνϟ(1) 1. ҟछࠞ߹DBMSʹΑΔૄ݁߹ΞʔΩςΫνϟ (1)୯ҰͷTSDBΞʔΩςΫνϟΛϩάɼΠϯσοΫεɼ࣌ܥྻσʔλ ߏͷΑ͏ͳෳͷ෦ʹׂ͢Δ (2)֤छσʔλߏʹରͯ͠ಠཱͨ͠DBMSΛՃ͢Δ (3)͜ΕΒͷ෦ΛҰͭͷૄ݁߹ΞʔΩςΫνϟͱͯ͠౷߹͢Δ DBMS Single
TSDB DBMS Index DBMS Log HeteroTSDB Time series data -
27 HeteroTSDBΞʔΩςΫνϟ(2) 2. ࣌ܥྻσʔλߏΛ୲͢ΔDBMSΛަՄೳʹ͢Δ ↪ ΩʔόϦϡʔʹجͮ࣌͘ܥྻσʔλߏʹΑΔޓੑ ΩʔόϦϡʔଟ͘ͷDBMSͰ࣮ݱՄೳͳσʔλߏ 3. ॻ͖ࠐΈॲཧͱσʔλอଘޮͷ্ ↪
ΠϯϝϞϦKVSͱΦϯσΟεΫKVSͷࣗಈ֊Խ In-Memory KVS On—Disk KVS Tiering Single TSDB DBMS Index DBMS Log Our TSDB architecture -
αʔόʔϨεϓϥοτϑΥʔϜʹΑΔ࣮ In-Memory KVS Amazon Elasticache For Redis (Redis Cluster) On-Disk
KVS Amazon DynamoDB On-Disk KVS2 Amazon S3 Write Ahead Log Amazon Kinesis Streams Index (Label or Tag) Elasticache or DynamoDB -
29 ཧࢄڥͷల։ͷߏ தԝͷΫϥυσʔληϯλʔͷॻ͖ࠐΈෛՙݮ Cloud Edge On-Disk KVS In-memory KVS In-memory
KVS ①Write ①Write ①Read ②古くなったら移動 直近のデータ 直近のデータ ② ② -
4. 分散アプリケーションの依存関係追跡 の研究 坪内佑樹, 古川雅⼤, 松本亮介, “Transtracer: 分散システムにおけるTCP/UDP通信の終端点の監視によるプロセス間依存関係の⾃動 追跡”, インターネットと運⽤技術シンポジウム論⽂集,
2019, 64-71 (2019-11-28), 2019年12⽉. -
31 研究の⽬的(再掲) ・⼤⽬的: 地理的に分散したアプリケーションの信頼性向上 ・制約: 既存のアプリケーションやミドルウェアのコードを変更せず, 性能影響をあたえない ・3つの⽬的 1. 時間軸の可観測性:
時系列データベースの性能と拡張性の両⽴ 2. 空間軸の可観測性: 依存関係を低負荷かつ網羅的に追跡 3. データの⼀貫性を保証しつつ,応答性能を最⼤化できるように制御 -
32 ・Linuxのパケットフィルタログを利⽤してL4接続の状態を取得 ・Linuxカーネルの通信機構を利⽤する限り,プロセスに対して透過 的に追跡可能 ・遅延オーバヘッド: パケットフィルタ処理のオーバヘッド ・偽陰性: リソース消費を抑えるために,パケットを無作為にサンプ リングするため,検知漏れの可能性がある 既存のパケットベースのトレーシング技術※
※J. K. Clawson, Service Dependency Analysis via TCP/UDP Port Tracing, Master’s thesis, Brigham Young University-Provo 2015. -
33 ネットワークソケットモニタリング Linux OS Kernel Process Process TCP Flows …
. . . User ソケット を監視 TCP接続の終端点であるソケットを監視し接続を⾃動追跡 1. 遅延オーバヘッドの解決 ・ソケットの監視をプロセス の通信と独⽴させる 2. 偽陰性の解決 ・すべてのソケットを監視 ・パケット数よりも接続数=ソ ケット数のほうが⼩さい ・接続を永続化していると顕 著な差となる Tracer -
34 システム構成 Host 1 Host 2 Host N CMDB Tracer
Tracer Tracer Systems Administrator ・ホスト上にTracerプロセスを配置 ・各Tracerプロセスは取得した接続情 報をCMDB(接続情報管理DB)に保存 ・システム管理者はCMDBにアクセス し,複数のホストにまたがり依存関 係を取得 -
35 地理分散環境への展開の構想 CMDBのホスト単位の⾃律分散配置 Host Tracer Tracer DB Tracer Tracer Host
Host Systems Administrator Host 1.各ホスト上のローカルに DBを配置 2.Tracerは⾃⾝のDBに⾃ ⾝の依存関係を書きこみ 3.読み出し時は問い合わ せたのあったホストを起 点に依存先/元のTracer に再帰問い合わせ ᶃ ᶄ ᶄ DB DB DB -
37 研究の⽬的(再掲) ・⼤⽬的: 地理的に分散したアプリケーションの信頼性向上 ・制約: 既存のアプリケーションやミドルウェアのコードを変更せず, 性能影響をあたえない ・3つの⽬的 1. 時間軸の可観測性:
時系列データベースの性能と拡張性の両⽴ 2. 空間軸の可観測性: 依存関係を低負荷かつ網羅的に追跡 3. データの⼀貫性を保証しつつ,応答性能を最⼤化できるように制御 -
38 システム要件1: 分散データセンターへの透過性 スコープ: 動的コンテンツの配信の⾼速化のために読み込み性能を向上 Replica Replica Replica Origin Central
Datacenter 全データセンターに キャッシュの複製を配置 することで 透過的にデータを⾼速参 照可能 中央データセンターへ書 き込みを向けて キャッシュを伝搬 -
39 システム要件2: 既存のアプリケーションを無変更 スコープ: 動的コンテンツの配信の⾼速化のために読み込み性能を向上 Central Datacenter App DB Proxy
DataBase HTTP Request Caching Query Edge Datacenter アプリケーションとデータベースの間にプロキシを介してクエリ をキャッシュ 書き込みに対して同期的にキャッシュとデータベースを更新し, 強い⼀貫性を担保 -
40 ཧࢄσʔληϯλʔ্Ͱͷෳͷ՝ ɾಉظߋ৽࣌ʹωοτϫʔΫԆͷେ͖͍σʔληϯλʔʹ͞Εͯ Ԡੑೳ͕Լ͢Δ͜ͱ Replica Origin (1) ॻ͖ࠐΈཁٻ (2) ಉظߋ৽
Edge Datacenter Central Datacenter Replica Replica -
41 提案: QuorumCacheアーキテクチャ 1. 同期更新の範囲をネットワーク遅延に応じて調節可能 2. アプリケーションの読み書き回数の⽐率に応じて同期更新の範囲を適 応的に決定可能 ネットワーク遅延とアクセス傾向の変動に応じて 応答性能を適応的に最⼤化する基盤の提案
同期更新時にネットワーク遅延の⼤きいデータセンターに律速される 課題を解決 -
42 QuorumCacheの動作フロー Central Datacenter Origin Replica Replica Replica Replica d:
近傍ネットワーク距離 Edge Datacenter Replica Replica d (1) 書き込み要求 (2) 書き込み要求 転送 (3) 同期更新 (i) 読み込み要求 (ii) d以内のデータ センターから 読み込み Replica (4) ⾮同期更新 -
43 QuorumCacheのシステム構成 HTTP Proxy Central Datacenter Web App DB Proxy
DataBase HTTP Request Caching 読み書き⽐率の 計測(HTTP) 読み書き⽐率の 計測(DBクエリ) 応答性能の計測 Query DB Proxy Web App HTTP Proxy ・制御ポイントとしてHTTPとDBの層にプロキシを配置 Forward Edge Datacenter ・Transtracerによりクエリの TCP層のネットワーク遅延を 計測 -
46 SRE “NEXT” SRE 地理分散 High-Performance Computing(HPC) 量⼦コンピュータ 認知システム⼯学 経営学
⼈と組織 ⼈と機械 拡張 導⼊ ・クラウドコンピューティング以外のコン ピューティング領域への拡張 ・計算機中⼼から⼈間中⼼のアプローチ ※1 ೖࢁষӫ, “ੈքඪ४ͷܦӦཧ,” μΠϠϞϯυࣾ, 2019. ※2 ੁଠ, “ೝγεςϜֶతΞϓϩʔνʹΑΔࣾձσβΠϯ,” ԣװ, Vol. 4, No. 2, pp. 68-73 2010. ※3 ᑼ, “ਓͱػցͷڞʹΑΔ׆ྗ͋Δࣾձٕज़γεςϜͷσβΠϯ,” ܭଌͱ੍ޚ, Vol. 57, No. 2, pp. 79-84 2018. ※1 ※2 ※3 -
分散アプリケーションの信頼性観測技術 に関する研究 Yuuki Tsubouchi / @yuuk1t SRE NEXT IN TOKYO
2020 基調講演 2020.01.25