Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ヘンリーにおける可観測性獲得への取り組み
Search
nabeo
October 19, 2023
Technology
2
2.2k
ヘンリーにおける可観測性獲得への取り組み
OpenTelemetry Meetup 2023-10
https://opentelemetry.connpass.com/event/296353/
nabeo
October 19, 2023
Tweet
Share
More Decks by nabeo
See All by nabeo
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
3
680
SRE 文化の醸成: stream-aligned チームに Enabling するために実施した事例の解説 / Cloud Operator Days Tokyo 2025
nabeo
0
220
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
370
Docker Compose で手軽に手元環境を実現する / Simplifying Local Environments with Docker Compose #CinemaDeLT
nabeo
0
550
OpenTelemetry Collector 自身のモニタリング / Monitoring the OpenTelemetry Collector itself
nabeo
0
570
AWS CDK (TypeScript) を継続的にメンテ可能にするために取り入れているノウハウ集
nabeo
0
1.4k
AWS Organizations 組織を移動する時に 考えること 100 連発 (AWS Control Tower への組み込みを添えて) / Hatena Engineer Seminar #20
nabeo
2
3.3k
AWS Transit Gateway を使った内部ネットワークの構成変更の話 / AWS Transit Gateway and Me
nabeo
0
740
Docker イメージのダイエットが成功するまで帰れまてん / Docker Image Diet Challenge
nabeo
4
4.2k
Other Decks in Technology
See All in Technology
株式会社ビザスク_AI__Engineering_Summit_Tokyo_2025_登壇資料.pdf
eikohashiba
1
140
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
270
Snowflake Industry Days 2025 Nowcast
takumimukaiyama
0
150
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
240
Everything As Code
yosuke_ai
0
230
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
260
Claude Skillsの テスト業務での活用事例
moritamasami
1
120
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
1.2k
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.9k
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
170
ESXi のAIOps だ!2025冬
unnowataru
0
440
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
86
The Pragmatic Product Professional
lauravandoore
37
7.1k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
54
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
73
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
A Soul's Torment
seathinner
1
2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
47k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Writing Fast Ruby
sferik
630
62k
Transcript
Copyrights(c) Henry, Inc. All rights reserved. 好きになる、はじめての電子カルテ OpenTelemetry Meetup 2023-10
ヘンリーにおける可観測性獲得への取り組み 2023/10/19 @nabeo
Copyrights(c) Henry, Inc. All rights reserved. 自己紹介 渡辺 道和 (@nabeo)
株式会社ヘンリー CTO室 SRE 2023年06月〜 2
Copyrights(c) Henry, Inc. All rights reserved. クラウド型電子カルテ・レセコンシステム「Henry」 • 電子カルテ :
医療情報を管理・記録するソフトウェア • レセコンシステム : レセプト (診療報酬) に基づいた会計情報を管 理するソフトウェア 3
Copyrights(c) Henry, Inc. All rights reserved. 扱っている課題の特徴と技術スタック • ドメインが巨大、かつ、複雑、かつ、難解 ◦
難解な診療報酬制度が2年ごとに改訂される ◦ 地方自治体ごとに異なる公費の計算 ◦ 医療機関様ごとに異なるニーズへの対応 ◦ ソフトウェアとしても機能が複雑に絡まっていて見通しにくい状態 • 技術スタック ◦ Server-side Kotlin ◦ Backend for Frontend としての Node.js (TypeScript) ◦ gRPC、GraphQL ◦ Google Cloud 4
Copyrights(c) Henry, Inc. All rights reserved. 可観測性獲得文脈での課題 • 医療機関様ごとに必要とされる機能やその使用頻度が異なる •
問題やお問い合わせの切り分けが難しい • SLI/SLO の整備でも可観測性の獲得は重要である 5
Copyrights(c) Henry, Inc. All rights reserved. ヘンリーにおける Observability ツールの現 状
• 一部で OpenTelemetry のトレース情報を Cloud Trace や Sentry に送信して、可視化をしている ◦ OpenTelemetry SDK のトレース ID 採番を利用して、分散システムの ログにトレーサビリティを持たせている ◦ 意図通りのトレーサビリティが確保できていない問題があった • 【イマココ】トレース情報の送信方法の見直し ◦ 一緒にプロジェクトを進めている同僚から OpenTelemetryを正しく計装 して、Datadogに連携したら欲しい情報がとれていそうという示唆があっ た 6
Copyrights(c) Henry, Inc. All rights reserved. Datadog の検討 • いい感じに可視化できて、トレース情報の扱いもコントロールでき
そう ◦ とくに tail sampling ができそうということが大きい • 一旦、Datadog の採用は見送る方針に変更 ◦ OpenTelemetry 計装に問題がありそうということもわかった ◦ コストの試算したところ一旦は採用を見送って、Cloud Trace や Cloud Logging をちゃんと使う方針に方向転換 ▪ Datadog の利用料金だけでまぁまぁな金額になりそうだった ▪ OpenTelemetry の計装だけでは Datadog による可視化、データ連携で制限が つく 7
Copyrights(c) Henry, Inc. All rights reserved. Cloud Run サービス +
OpenTelemetry Collector エージェントの実装アプローチ • OpenTelemetry エージェントをアプリケーションに組み込む • OpenTelemetry コレクターをサイドカーとして組み込む • 完全に独立した OpenTelemetry コレクターにトレース情報を送信 する 8
Copyrights(c) Henry, Inc. All rights reserved. 実装アプローチの比較 OpenTelemetry エージェントをアプリケーションに組 み込む
• 😀 ◦ インフラ視点で管理するコンポーネントが一番少ない構成 • 🤨 ◦ アプリケーションと密結合になる ◦ エージェントが起動してから、アプリケーションでリクエストを受付させる など気を遣う必要がある 9
Copyrights(c) Henry, Inc. All rights reserved. 実装アプローチの比較 OpenTelemetry コレクターをサイドカーとして組み込む •
😀 ◦ アプリケーションからコレクター部分を切り離して管理できる • 🤨 ◦ 一般的なコンテナ PaaS の課金体系と相性が悪い ◦ Cloud Run ではマルチコンテナ対応が 2023/10 時点で pre-GA 10
Copyrights(c) Henry, Inc. All rights reserved. 実装アプローチの比較 独立した OpenTelemetry コレクターにトレース情報を送信する
• 😀 ◦ アプリケーションからコレクター部分を切り離して管理できる ◦ アプリケーションのトレース情報の送信先をまとめることができる -> コス トメリットが期待できる • 🤨 ◦ インフラ視点だと構成が一番複雑になる ◦ トレース情報の送信元と OpenTelemetry コレクターの間で通信ができ なかった時のアプリケーションの挙動を確認しておく必要がある 11
Copyrights(c) Henry, Inc. All rights reserved. Cloud Run で OpenTelemetry
コレクターを 動かす時の注意 • OpenTelemetry の Node.js 向け SDK では認証ヘッダをつける ことが難しいので、通信経路を工夫する必要がある • OpenTelemetry の仕様の他にベンダー独自拡張の仕様にも気を 配って計装する必要がある 12
Copyrights(c) Henry, Inc. All rights reserved. Thank you We are
hiring!! https://jobs.henry-app.jp/ 13 https://dev.henry.jp/ We are writing!!