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
860
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
「家族アルバム みてね」における運用管理・ オブザーバビリティの全貌 / Overview of Operation Management and Observability in FamilyAlbum
isaoshimizu
5
360
約10年間MIXIのインフラを 支えてきたPagerDutyの活用事例 / PagerDuty on Tour 2024
isaoshimizu
6
1.1k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
2
1.7k
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
18
8.9k
今年1年のEKS運用振り返り/3-shake SRE Tech Talk
isaoshimizu
2
340
ポストモーテムの基礎知識と最新事例 / Fundamentals of Postmortem
isaoshimizu
11
2.9k
全世界1,800万人が利用する「家族アルバム みてね」におけるNew Relic活用法 / FutureStack Tokyo 2023
isaoshimizu
1
520
『家族アルバム みてね』で計測しているSLIの事例 / SLI as measured in FamilyAlbum
isaoshimizu
4
750
4年間の取り組みで実現したコンテナ技術を活用したスケーラブルなインフラ構築とコスト削減 / Container Summit 2023
isaoshimizu
1
240
Other Decks in Technology
See All in Technology
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
220
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
150
SA Night #2 FinatextのSA思想/SA Night #2 Finatext session
satoshiimai
1
150
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
170
脳波を用いた嗜好マッチングシステム
hokkey621
0
150
わたしのOSS活動
kazupon
2
290
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
AIエージェント元年
shukob
0
110
偏光画像処理ライブラリを作った話
elerac
1
110
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
150
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
460
デスクトップだけじゃないUbuntu
mtyshibata
0
550
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
RailsConf 2023
tenderlove
29
1k
Navigating Team Friction
lara
183
15k
Designing for humans not robots
tammielis
250
25k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Faster Mobile Websites
deanohume
306
31k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Being A Developer After 40
akosma
89
590k
How to Ace a Technical Interview
jacobian
276
23k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
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