Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

- 人事労務SaaSのSRE - SRE NEXT 2022 「一人から始めるプロダクトSRE」 - Developers boost 2023 ベストスピーカー賞 - 同人・商業で作家活動 etc… 趣味は🍺と󰏶🍛とSAUNAです (🍺もSAUNAも資格有) 気になったら懇親会で…! ● Money Forward, Inc 2021~ 
 ● SREチームの立ち上げ & Lead 
 ● 現在はIndividual Contributorに 


Slide 3

Slide 3 text

SNSハッシュタグ #sre_fxm

Slide 4

Slide 4 text

信頼性って言われすぎて 段々よくわからなくなってくることない? #sre_fxm

Slide 5

Slide 5 text

信頼できるサービス = ? #sre_fxm

Slide 6

Slide 6 text

信頼できるサービスの特徴 3選 ユーザは利用目的を 達成できる 安心して 利用できる どんどん 進化する さまざまなメトリクスを使って 我々は日々モニタリングして守っている #sre_fxm

Slide 7

Slide 7 text

お金を生み出しているシステムが 常に健全であることは ビジネス的にも価値がある #sre_fxm

Slide 8

Slide 8 text

マネーフォワード クラウド給与は 9年 目 #sre_fxm

Slide 9

Slide 9 text

常に約10年後を考えて システム開発している人 ✋ #sre_fxm

Slide 10

Slide 10 text

10年後どうなっているか予想できない #sre_fxm

Slide 11

Slide 11 text

しかし、想定せずに 運用するフェーズではなくなる瞬間がくる #sre_fxm

Slide 12

Slide 12 text

信頼できるサービスの特徴 3選 ユーザは利用目的を 達成できる 安心して 利用できる どんどん 進化する 成長とともに重要視する メトリクスは変わる #sre_fxm

Slide 13

Slide 13 text

着実にユーザとデータ量が増えた先 #sre_fxm

Slide 14

Slide 14 text

運用作業限界への恐怖 #sre_fxm

Slide 15

Slide 15 text

"テーブルサイズ限界"のXデー #sre_fxm

Slide 16

Slide 16 text

Amazon Aurora 1AWS公式によると128TiBのサイ ズをサポートしている *1 MySQL 8.0のInstant DDLを使 えばある程度の規模までは運用に 問題がない *1 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html #sre_fxm

Slide 17

Slide 17 text

弊チームトップエンジニアよる 検証により 限界サイズしきい値が判明する #sre_fxm

Slide 18

Slide 18 text

もともとSREチームではDBのサイズ推移を (思い出したときに) SQLで取ってGSSで分析していた メトリクス化して 継続的にモニタリングしよう (タイトル回収) #sre_fxm

Slide 19

Slide 19 text

MySQLテーブル毎のデータサイズ集計を Datadog × Prometheus Exporter × Kubernetes を使って自動化する #sre_fxm

Slide 20

Slide 20 text

Overview #sre_fxm

Slide 21

Slide 21 text

1. k8s manifest 2. MySQL settings 3. Datadog Dashboard view #sre_fxm

Slide 22

Slide 22 text

k8s Manifest 公式はDockerでの使用方法のみ k8s用にごにょごにょする #sre_fxm

Slide 23

Slide 23 text

k8s Manifest - annotation Datadogでopenmetricsを使う 部分 init_config: {}を書き忘れて ハマった #sre_fxm

Slide 24

Slide 24 text

MySQL settings UserとGRANTが必要 information_schemaを取得できる最低限のもの - PROCESS - SELECT #sre_fxm

Slide 25

Slide 25 text

MySQL settings Q. すべてのテーブルに対してGRANTする必要がある? A. 「ユーザが適切なアクセス権限を持っているオブジェクトに対するテーブル行 だけ見れる」ということなので、付与しないと取得できない https://dev.mysql.com/doc/refman/5.7/en/information-schema-introduction.html#information-schema-privileges #sre_fxm

Slide 26

Slide 26 text

Datadog Dashboard view メトリクスとして取得さえできれば Dashboardであらゆる形式にして 表示できる しきい値Alertも可能に! #sre_fxm

Slide 27

Slide 27 text

Toil 解消! #sre_fxm

Slide 28

Slide 28 text

急成長サービスには地道な取り組みがつきもの 1. きたるべき未来に備えるためにモニタリングが必要だった 2. 手動で情報を取りに行っていた 3. しきい値が明確になったので自動化に踏み切った #sre_fxm

Slide 29

Slide 29 text

ご清聴 ありがとうございました