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
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
Search
Isao Shimizu
November 19, 2024
Technology
3
990
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
2024.11.19 New Relic User Group OKINAWA VOL.3
https://nrug-okinawa.connpass.com/event/329314/
Isao Shimizu
November 19, 2024
Tweet
Share
More Decks by Isao Shimizu
See All by Isao Shimizu
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
260
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
5
1.9k
約10年間MIXIのインフラを 支えてきたPagerDutyの活用事例 / PagerDuty on Tour 2024
isaoshimizu
6
1.2k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
2
1.8k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
18
9.1k
今年1年のEKS運用振り返り/3-shake SRE Tech Talk
isaoshimizu
2
390
ポストモーテムの基礎知識と最新事例 / Fundamentals of Postmortem
isaoshimizu
12
3.1k
全世界1,800万人が利用する「家族アルバム みてね」におけるNew Relic活用法 / FutureStack Tokyo 2023
isaoshimizu
1
590
『家族アルバム みてね』で計測しているSLIの事例 / SLI as measured in FamilyAlbum
isaoshimizu
4
790
Other Decks in Technology
See All in Technology
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
5
1.4k
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
720
RSCの時代にReactとフレームワークの境界を探る
uhyo
8
1.3k
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
440
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
420
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
360
TypeScript入門
recruitengineers
PRO
35
11k
iPhone Eye Tracking機能から学ぶやさしいアクセシビリティ
fujiyamaorange
0
200
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
0
110
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
440
スプリントレトロスペクティブはチーム観察の宝庫? 〜チームの衝突レベルに合わせたアプローチ仮説!〜
electricsatie
1
150
Kiroと学ぶコンテキストエンジニアリング
oikon48
5
5.7k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
14k
How STYLIGHT went responsive
nonsquared
100
5.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
A designer walks into a library…
pauljervisheath
207
24k
Designing for humans not robots
tammielis
253
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
BBQ
matthewcrist
89
9.8k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building Applications with DynamoDB
mza
96
6.6k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
©MIXI New Relicを活⽤した SREの最初のステップ 2024.11.19 New Relic User Group(NRUG) OKINAWA
VOL.3 @isaoshimizu
2 ©MIXI About me • New Relic User Group 運営メンバー
• AWS Summit Tokyo 2014/2019、SRE NEXT 2020/2022、その他SRE関連勉強会に多数登壇 • 技術評論社「Software Design」寄稿、オライリー‧ジャパン「SREをはじめよう」翻訳レビュー • 週末は社会⼈吹奏楽団での活動(楽団⻑、トロンボーン約30年、たまに指揮者)、キャンプとクラフトビールが好き 清⽔ 勲 (X: @isaoshimizu) 家族アルバム みてね Engineering Manager(SRE/CRE/セキュリティ領域) SIer時代(受託‧⾃社開発) SNS「mixi」 モンスター ストライクなど みてね 2003年 2011年 2014年 2018年 2024年 新卒⼊社 ミクシィ(現MIXI)⼊社 C/C++/C#/PHP/Python/iOS/AWS Fedora/MySQL/LXC/ OpenStack Linux/MySQL/Ruby AWS/MySQL/Ruby 2022年1⽉〜EM おもに関わった技術
©MIXI 3 • SREってなに?という⽅ • SRE初学者の⽅ • SREをこれから始める⽅、始めたばかりの⽅ もちろん •
SREをすでに実践されている⽅ も⼤歓迎です!! 本セッションの主な対象者
©MIXI 4 1. SREとは 2. システムの信頼性を知る 3. New RelicはSREにどう役に⽴つ? 4.
まとめ アジェンダ
©MIXI SREとは
©MIXI 6 2024年10⽉にオライリー‧ジャパンより出版された「SREをはじめよう」※では、SREとは “組織がシステム、サービス、製品において適切なレベルの信頼性 を持続的に達成できるよう⽀援することを⽬的とした⼯学分野” と表現している。 これを3つに分解してみる 1. システム、サービス、製品(プロダクト)のためのものである 2.
適切なレベルの信頼性 3. 持続的に達成できるように⽀援する SREとは ※SREをはじめよう ―個⼈と組織による信頼性獲得への第⼀歩 David N. Blank-Edelman 著、⼭⼝ 能迪 訳 https://www.oreilly.co.jp/books/9784814400904/ みなさんが関わっているシステム、サービス、プロダクトの 適切なレベルの信頼性とはどのくらいなのか? それを持続的に達成できるように⽀援するためになにをすればよいのか?
©MIXI 7 • ビジネスとして成り⽴つ信頼性レベルはどのくらいだろうか? • ⾔い換えれば、ユーザーの満⾜度を維持できるレベルとはどのくらいか? • ⾼ければ⾼いほど良いってものではない • 100%の信頼性レベルは⾮現実的、バグや障害は起こり得るものという前提
• 過度な⽬標設定だと、様々な機能開発や構成変更などができなくなってしまう • ビジネスサイドも含めて⼀緒に⽬指すべき信頼性レベルはどの程度かを決める(会話する) • 最初はざっくりでもよい • 現状⼤きな問題が起きてないのであれば、今と同レベルという考え⽅でもよい • あとから⽬標を修正していければ良い 適切な信頼性レベルの設定 まずは現状の信頼性レベルを知る(計測する)ところから
©MIXI システムの信頼性を知る
©MIXI 9 ユーザー体験に影響する箇所において • どのくらいエラーが出ているのか、その原因となりうる箇所はどこか • どのくらいスループットが出ているのか • どのくらいのレスポンスタイムで返せているのか を把握することがまず第⼀歩。その⽅法として
• メトリクスを収集、集計する • ログを収集、集計する というのが挙げられる 信頼性をどうやって知るのか? 信頼性を計測するために必要な情報を収集‧記録し集計する
©MIXI 10 メトリクス • CloudWatch • Cloud Monitoring • Prometheus
• Grafana ログ • CloudWatch Logs • Cloud Logging • Fluentd/Fluent Bit → Data Firehose → S3/OpenSearch Service/Athena • Fluentd/Fluent Bit/Promtail → Grafana Loki → S3 • BigQuery ほかにもいろいろ 信頼性の計測⽅法いろいろ(個別サービス‧ツール利⽤)
©MIXI 11 • New Relic • Datadog • Dynatrace •
AppDynamics • Sentry • Splunk • Mackerel • Grafana Cloud • Elastic Observability ほかにもいろいろ 信頼性の計測⽅法いろいろ(オブザーバビリティSaaS利⽤) SaaSはメトリクス、ログ含め様々な情報を⼀元的に収集‧集計できるというメリット
©MIXI New RelicはSREにどう役に⽴つ?
©MIXI 13 New Relicには多くの機能がありますが、最低限これだけ覚えておくと良いもの • APM(Application Performance Monitoring) • サーバーアプリのパフォーマンスモニタリング
• Infrastructure • サーバー、コンテナ、データベース、Kubernetesのモニタリング • Mobile • モバイルアプリのパフォーマンス、クラッシュのモニタリング • Browser • Webサイトのパフォーマンスモニタリング • Log Management • ログの⼀元化、検索、可視化、アラート New Relicの基本機能 あらゆるアプリケーション‧インフラの状態を⼀元的に収集し、検索、可視化できる
©MIXI 14 特にサーバーアプリケーションの状態を知ることがオブザーバビリティの第⼀歩。 サーバー1台ずつにSSHしてログをgrep‧‧‧なんて⾯倒なことはしたくありませんよね? (⾯倒だけでなく欲しい情報を探す難しさ、⾒逃してしまうといった課題がある) APMを導⼊することですべてのサーバーで動作しているアプリケーションの状態を知ることができる! (いちいちSSHはしなくていい!) New Relic APMはGo、Java、.NET、Node.js、PHP、Python、Rubyに対応(ExperimentalとしてElixirも対応
している様⼦) APM導⼊⼿順は公式ドキュメントを参照 APMによるアプリのパフォーマンス改善 | New Relic Documentation New Relic APMでオブザーバビリティの第⼀歩
©MIXI 15 オブザーバビリティを確保することによって アプリケーションの状態が 「なんとなく良さそう...」「たまになんかおかしい...」 から 「このレスポンスタイム値なら⼤丈夫だ」「このエラー今⽇xx回出てるから直そう」 に変わる オブザーバビリティと信頼性 オブザーバビリティによって現在の信頼性を持続的に把握できる。
必要に応じて改善のアクションにつなげられる(これぞSRE)。
©MIXI まとめ
©MIXI 17 • いま扱っているシステムの信頼性がどの程度なのかを知ることがSREの第⼀歩 • 信頼性を測るためにはオブザーバビリティは⽋かせない • オブザーバビリティツールは世の中に数多くある • なにを選ぶかは要件(機能やコストなど)に合わせて
• APMの導⼊は第⼀歩⽬としてオススメ • 中規模〜⼤規模なサービスだとデータ量(コスト増)に注意 • SREのプラクティスとしては、他にもインシデントレスポンス、ポストモーテム、トイルなどが あるが「⽬指すべき信頼性レベルを決める、今の状況を知る」ためのオブザーバビリティをまず 整えておきたい • New Relicのノウハウは世の中に増加中! • 特にQiitaのアドベントカレンダーには多くのTipsが溢れているのでぜひご覧ください まとめ
©MIXI