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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
nabeo
October 19, 2023
Technology
2
2.3k
ヘンリーにおける可観測性獲得への取り組み
OpenTelemetry Meetup 2023-10
https://opentelemetry.connpass.com/event/296353/
nabeo
October 19, 2023
Tweet
Share
More Decks by nabeo
See All by nabeo
組織とプロダクトの変化に合わせたクラウド選択 / Henry Engineer Meetup #5
nabeo
0
24
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
3
770
SRE 文化の醸成: stream-aligned チームに Enabling するために実施した事例の解説 / Cloud Operator Days Tokyo 2025
nabeo
0
240
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
390
Docker Compose で手軽に手元環境を実現する / Simplifying Local Environments with Docker Compose #CinemaDeLT
nabeo
0
570
OpenTelemetry Collector 自身のモニタリング / Monitoring the OpenTelemetry Collector itself
nabeo
0
580
AWS CDK (TypeScript) を継続的にメンテ可能にするために取り入れているノウハウ集
nabeo
0
1.4k
AWS Organizations 組織を移動する時に 考えること 100 連発 (AWS Control Tower への組み込みを添えて) / Hatena Engineer Seminar #20
nabeo
2
3.4k
AWS Transit Gateway を使った内部ネットワークの構成変更の話 / AWS Transit Gateway and Me
nabeo
0
750
Other Decks in Technology
See All in Technology
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
680
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
170
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
230
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
340
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
770
AIが実装する時代、人間は仕様と検証を設計する
gotalab555
1
620
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
190
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
350
プロポーザルに込める段取り八分
shoheimitani
1
670
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
520
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
So, you think you're a good person
axbom
PRO
2
1.9k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
The Language of Interfaces
destraynor
162
26k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Why Our Code Smells
bkeepers
PRO
340
58k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
Paper Plane
katiecoart
PRO
0
46k
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!!