Slide 1

Slide 1 text

1 データの価値を失わないための Data Reliability Engineering 前向きデータ整備人 #2 / 2020-02-06

Slide 2

Slide 2 text

2 ● 自己紹介 / 会社紹介 ● Data Reliability Engineeringとは何か ● Data Reliability Engineeringのはじめかた ● eurekaでのData Reliability Engineeringの取り組み 今日話すこと

Slide 3

Slide 3 text

3 Sotaro Tanaka @__sotaron__ Data Engineer @ SRE Team, eureka Inc. ● データ基盤の設計 / 構築 / 運用 ● SRE ● Data Reliability Engineering ● 好き: BigQuery / Docker / k8s / Go / Python ● 趣味: アニメ / ゲーム 自己紹介

Slide 4

Slide 4 text

4 Key Takeaways(先出し) ● データの価値を失わないためには、データの整備だけでなく、品質やReliabilityに ついても目を向ける必要がある ● データのReliabilityは、エンジニアだけで考えるものではない ● Data Reliability Engineeringは、理論も実践もこれからな分野。仲間求ム。

Slide 5

Slide 5 text

5 Data Reliability Engineering とは何か?

Slide 6

Slide 6 text

6 前提 ● 「Data Reliability Engineering」には、 どこかの機関が定めている定義はありません (たぶん) ● eurekaが実務上課題にぶち当たり、必要にかられて発生したムーブです ● ある程度一般化することで、他の人に資するのでは?と思い、話をします

Slide 7

Slide 7 text

7 Why ? Data Reliability Engineering

Slide 8

Slide 8 text

8 [Why?] Data Reliability Engineering ソフトウェアに品質があるように、データにも品質がある ※ DMBOK本の「データ品質」のセクションおすすめ

Slide 9

Slide 9 text

9 case1: A/Bテストとデータ欠損 ● ある施策で、セグメントを2つに分けて、新機能のA/Bテストを実施した ● 新機能の実装において、特定条件でログが発火しないバグがあった → 新機能に対して否定的なアクションのログが欠損していたら? → 間違った意思決定をする可能性は高い

Slide 10

Slide 10 text

10 データの完全性、一貫性の問題 ● ある施策で、セグメントを2つに分けて、新機能のA/Bテストを実施した ● 新機能の実装において、特定条件でログが発火しないバグがあった → 新機能に対して否定的なアクションのログが欠損していたら? → 間違った意思決定をする可能性は高い

Slide 11

Slide 11 text

11 case2: 「これ、本当に最新のデータ?」 ● 毎朝8:00に更新されるKPIレポート、 PMはみんな朝このレポートを見て、サービスのヘルスチェックをしている ● ある施策のリリース後、関連バッチタスクのリソース圧迫により、ログが遅延してい た → アクション率の計算が不当に低くなり、切り戻し判断をしてしまうかも → 遅延が常態化すれば、PMにとって意思決定に使えないデータになる

Slide 12

Slide 12 text

12 データの適時性 Timelinessの問題 ● 毎朝8:00に更新されるKPIレポート、 PMはみんな朝このレポートを見て、サービスのヘルスチェックをしている ● ある施策のリリース後、関連バッチタスクのリソース圧迫により、ログが遅延してい た → アクション率の計算が不当に低くなり、切り戻し判断をしてしまうかも → 遅延が常態化すれば、PMにとって意思決定に使えないデータになる

Slide 13

Slide 13 text

13 case3: データ基盤 AM3:00 インフラエンジニア AM3:00「なんかバッチタスクこけてる!急いで直さなきゃ!」 AM5:00「ふう…なんとか直った。寝よう。明日起きれるかな…」 アナリスト 翌朝「あー、そのタスクたまに失敗するやつだからほっといていいよ」

Slide 14

Slide 14 text

14 サービスレベルがない問題 つらい

Slide 15

Slide 15 text

15 DREはデータの価値を失わないためにある 以下のような指標を監視することで、高品質なデータを提供し続ける ● データがどれくらい欠損しているか => Integrity ● あるデータが他のデータと一貫しているか => Consistency ● レポートは見る人にとって適切な新鮮さで更新されているか? => Timeliness ● etc...

Slide 16

Slide 16 text

16 What ? Data Reliability Engineering

Slide 17

Slide 17 text

17 [What?] Data Reliability Engineering What is データ信頼性エンジニアリング = Data Reliability Engineering(DRE) ??

Slide 18

Slide 18 text

18 DRE = SRE, DBRE ? 似ているが、全く同じものではない

Slide 19

Slide 19 text

19 DRE impl Reliability Engineering Reliability Engineering 信頼性エンジニアリング Data Reliability Engineering Reliability Engineeringの具象としてのSRE, DBRE, DRE

Slide 20

Slide 20 text

20 DRE impl Reliability Engineering w/ DevOps Reliability Engineering 信頼性エンジニアリング Data Reliability Engineering

Slide 21

Slide 21 text

21 ソフトウェアの不確実性やリスクと向き合い続ける営み Reliability Engineering

Slide 22

Slide 22 text

22 価値のデリバリーに関わる各チームの協力体制とそれを可能にするメソッド ● CI/CD、自動化 ● Dev ⇄ Opsのフィードバック ● etc.. DevOps, DataOps, etc...

Slide 23

Slide 23 text

23 Who ? Data Reliability Engineering

Slide 24

Slide 24 text

24 [Who?] Data Reliability Engineering ベースは、GoogleのSREチームの簡潔な定義をそのまま引用できそう My explanation is simple: SRE is what happens when you ask a software engineer to design an operations team. ( 『Site Reliability Engineering』より)

Slide 25

Slide 25 text

25 AnalyzeとOps, DataとOps とはいえ、アナリストとエンジニアではスキルセットが大きく違う場合もある ● サービスレベルを軸に、AnalyzeとOpsの関心ごとを接続しよう

Slide 26

Slide 26 text

26 Data Reliability Engineering のはじめかた

Slide 27

Slide 27 text

27 DREのロードマップ、サイクル まずは、モニタリングを始めるところまで。その先はサイクルを回す。

Slide 28

Slide 28 text

28 サービスレベルの設計から ユーザーにとっての「使える/使えない」からサービスレベルに落とし込む

Slide 29

Slide 29 text

29 効果的なモニタリングを継続的におこなうには、それに適したシステムが必要 Observable, Configurableなシステムに 監視Saasの活用 Infrastructure as Code

Slide 30

Slide 30 text

30 eurekaでのDREの取り組み

Slide 31

Slide 31 text

31 Observableなシステムへの移行検証 重要レポートを対象に、システムをredash×GASから徐々に移行検証したり Current Future

Slide 32

Slide 32 text

32 BI / DREの定例MTG BIチームとDREで、データ品質や利便性を向上するための定例MTGを開催 みんなで議論したり 主要レポートの更新チェック したり

Slide 33

Slide 33 text

33 仲間がほしい。事例が聞きたい。 ● DREには聖典がまだない ● 英語のブログとかは、まあまあ見かけるけど ● みんなどうしてるの? ● 懇親会とかでいろんなお話聞かせてください!

Slide 34

Slide 34 text

34 Key Takeaways ● データの価値を失わないためには、データの整備だけでなく、品質やReliabilityに ついても目を向ける必要がある ● データのReliabilityは、エンジニアだけで考えるものではない ● Data Reliability Engineeringは、理論も実践もこれからな分野。仲間求ム。

Slide 35

Slide 35 text

35