Slide 1

Slide 1 text

DBREを役割ではなく、 文化にしたリンケージの取り組み DBRE Summit 2023

Slide 2

Slide 2 text

Database Reliability Engineering
 ||
 DBRE
 What is it?

Slide 3

Slide 3 text

DBREは役割ではなく
 
 哲学であり、文化
 What is it?

Slide 4

Slide 4 text

普段のプロダクト開発の営みの中で
 
 データベースをメンテナンスする文化
 What is it?

Slide 5

Slide 5 text

これをどうやって
 
 チームで実現したか話をします
 What is it?

Slide 6

Slide 6 text

1. 自己紹介
 2. 風土と文化とDBRE
 3. 作る人が最も答えに近い
 4. 信頼を勝ち取る
 5. まとめ
 あじぇんだ

Slide 7

Slide 7 text

1. 自己紹介
 2. 風土と文化とDBRE
 3. 作る人が最も答えに近い
 4. 信頼を勝ち取る
 5. まとめ
 あじぇんだ

Slide 8

Slide 8 text

自己紹介
 曽根 壮大(38歳)
 Have Fun Tech LLC 代表社員
 株式会社リンケージ CTO
 
 そ  ね   たけ とも
 ● 日本PostgreSQLユーザ会 勉強会分科会 担当
 ● 3人の子供がいます(長女、次女、長男)
 ● 技術的にはWeb/LL言語/RDBMSが好きです
 ● コミュニティが好き

Slide 9

Slide 9 text

突然の宣伝
 
予防医療のリンケージ
 
 
 ● リモートワークの不安を数値にするストレスチェック ● 女性の健康課題をサポートする ● リモートワーク、ちょっとした心配を相談できる安心をご提供 


Slide 10

Slide 10 text

1. 自己紹介
 2. 風土と文化とDBRE
 3. 作る人が最も答えに近い
 4. 信頼を勝ち取る
 5. まとめ
 あじぇんだ

Slide 11

Slide 11 text

Database Reliability Engineering
 
 
 
 
 
 風土と文化とDBRE

Slide 12

Slide 12 text

DBREは役割ではなく
 
 データベースを中心とした運用の哲学
 風土と文化とDBRE

Slide 13

Slide 13 text

データベースの死は
 
 サービスの死
 風土と文化とDBRE

Slide 14

Slide 14 text

だからこそデータベースの問題を
 
 解決できる人は英雄
 風土と文化とDBRE

Slide 15

Slide 15 text

自分自身が、チームが、
 
 英雄になる日常
 風土と文化とDBRE

Slide 16

Slide 16 text

安定したサービス運営
 
 平和な日々
 風土と文化とDBRE

Slide 17

Slide 17 text

そういう文化を作っていく
 
 
 風土と文化とDBRE

Slide 18

Slide 18 text

そういう文化を作っていく
 ↓
 Database Reliability Engineering
 風土と文化とDBRE

Slide 19

Slide 19 text

しかし、文化は
 
 突然は生まれない
 風土と文化とDBRE

Slide 20

Slide 20 text

そこで風土が必要
 
 
 風土と文化とDBRE

Slide 21

Slide 21 text

そこで風土が必要
 ↓
 何をつくる?
 風土と文化とDBRE

Slide 22

Slide 22 text

障壁を無くす
 
 インセンティブを作る
 風土と文化とDBRE

Slide 23

Slide 23 text

● 風土 = そこで働く人の気質や文化に影響を及ぼす、
 その企業特有の環境こと
 ● データベースは複数の事業やチームに影響を与えることが 多いため、横断的なコミュニケーションを可能にする
 ○ 例えば専門職を用意する(役割としてのDBRE)
 ● データベースの管理を特権とするのではなく、開発者が直接 に “安全に” 利用できる状態にする
 ● 問題を治療することよりも予防することを評価する
 DBREを促すために必要な風土の例

Slide 24

Slide 24 text

個人の適性や熱意は必要だけど
 
 それだけでは文化にならない
 風土と文化とDBRE

Slide 25

Slide 25 text

個人の適性や熱意は必要だけど
 
 それだけでは文化にならない
 風土と文化とDBRE 特定の人物に依存すると DBAと変わらない またその人物が燃え尽きたときに文化が途絶え、ロ ストテクノロジーと神話が生まれる

Slide 26

Slide 26 text

DBREを文化にしていくためには
 
 まずは風土を整えることが大事
 風土と文化とDBRE

Slide 27

Slide 27 text

1. 自己紹介
 2. 風土と文化とDBRE
 3. 作る人が最も答えに近い
 4. 信頼を勝ち取る
 5. まとめ
 あじぇんだ

Slide 28

Slide 28 text

なぜ、開発者がDBREを
 
 実践する文化が必要か
 作る人が最も答えに近い

Slide 29

Slide 29 text

データベースは実装された
 
 データモデルに強く影響を受ける
 作る人が最も答えに近い

Slide 30

Slide 30 text

データモデリングは
 
 ビジネスのドメインの影響を強く受ける
 作る人が最も答えに近い

Slide 31

Slide 31 text

データは積み木
 
 時間と共に積み上げていく
 作る人が最も答えに近い

Slide 32

Slide 32 text

データは積み木 しっかりと練られた初期設計

Slide 33

Slide 33 text

データは積み木 しっかりと練られた初期設計 ちゃんと検討された仕様追加 1 ちゃんと検討された仕様追加 2 正しく仕様追加を積み上げていける

Slide 34

Slide 34 text

データは積み木 しっかりと練られた初期設計 ちゃんと検討された仕様追加 1 ちゃんと検討された仕様追加 2 土台がしっかりしているので、 運用も安定している 突然の なにか 突然の なにか グラ...グラ... グラ...グラ...

Slide 35

Slide 35 text

データは積み木 初期設計

Slide 36

Slide 36 text

データは積み木 初期設計 マジカルな設計をすると 仕様変更も運用も難しい

Slide 37

Slide 37 text

データは積み木 初期設計 仕様追加 仕様追加もできないし、 運用もできない

Slide 38

Slide 38 text

では誰が積み木を積むか
 
 
 作る人が最も答えに近い

Slide 39

Slide 39 text

では誰が積み木を積むか
 ↓
 ソフトウェア開発者
 作る人が最も答えに近い

Slide 40

Slide 40 text

自分たちがデータベースを守るために
 
 開発者自身がDBREを体現するのが最も早い
 作る人が最も答えに近い

Slide 41

Slide 41 text

● レビューをするのではなく、レビューのやり方を教える
 ○ 実行計画の見方、RDBMSの仕組みを教え、実践させる
 ● テーブル設計に必要な知識を適宜提供する
 ○ 輪読会やドキュメントを用意し、一緒に学ぶ
 ○ 必要なツールの導入を検討し、一緒に活用する
 ● 自分たちに必要な仕組みを自分たちで設定し、運用する
 ○ デプロイ、マイグレーション、開発環境を自分たちで作る
 開発者がデータベースを運用する

Slide 42

Slide 42 text

開発者に主体的に
 
 データベースに関わってもらう
 作る人が最も答えに近い

Slide 43

Slide 43 text

Database Reliability Engineering
 ||
 データベースにオーナーシップを持つ
 作る人が最も答えに近い

Slide 44

Slide 44 text

1. 自己紹介
 2. 風土と文化とDBRE
 3. 作る人が最も答えに近い
 4. 信頼を勝ち取る
 5. まとめ
 あじぇんだ

Slide 45

Slide 45 text

Database Reliability Engineeringを
 
 実践していく
 信頼を勝ち取る

Slide 46

Slide 46 text

ドキュメントを作る
 
 Design Docを残す
 信頼を勝ち取る リンケージではArchitecture Decision Recordsを採用し、 Github リポジトリに設計思想の履歴を残している

Slide 47

Slide 47 text

設計思想、運用の哲学を伝えれば
 
 再現性が上がる
 信頼を勝ち取る

Slide 48

Slide 48 text

設計思想、運用の哲学を伝えれば
 
 再現性が上がる
 信頼を勝ち取る 再現できれば、特定の人に依存しない

Slide 49

Slide 49 text

一部を実際にお見せします
 
 ※イベント参加者だけ
 信頼を勝ち取る

Slide 50

Slide 50 text

自分たちが使うツールを自分で選ぶ
 
 選んだ責任を全うする
 信頼を勝ち取る

Slide 51

Slide 51 text

LaravelのEloquentではなく、
 
 Doctrine 2を使う
 信頼を勝ち取る リンケージの例


Slide 52

Slide 52 text

LaravelのEloquentではなく、
 
 Doctrine 2を使う
 信頼を勝ち取る Laravelのバージョンアップの追従は誰がやるの? リンケージの例


Slide 53

Slide 53 text

信頼を勝ち取る

Slide 54

Slide 54 text

信頼を勝ち取る

Slide 55

Slide 55 text

Database Reliability Engineeringを
 
 全員が実践していく
 信頼を勝ち取る

Slide 56

Slide 56 text

Database Reliability Engineeringを
 
 全員が実践していく
 信頼を勝ち取る そうは言っても、行動してくれないんだよな …

Slide 57

Slide 57 text

DBREを実践するためには
 
 チームの信頼を勝ち取る必要がある
 信頼を勝ち取る

Slide 58

Slide 58 text

エンジニアの信頼を勝ち取ることはなぜ必要か? そもそもなぜ、エンジニアの信用を高め、信頼を勝ち取る必要がある のだろうか。 それは一人で出来ることは限界があり、 ● やりたいことを実現する ● 問題を解決する ● これらをするためにはとても必要な事だからだ。 例えば自分が1を100にするのが得意な場合、 0から1を作るのが得意 な人が必ず必要だ。 逆も然りでプロダクトを大きく、サービスが成長すればするほど一人で 出来ることの限界とぶつかる。 我々エンジニアは世の中の問題を解決するために何かを生み出し、 成長させて問題を解決してその報酬として対価を得ている。 つまり大きな問題を解決するためには一人では限界がある 。 だからこそみんなの力を借りるためにも信頼されたエンジニアで有る 必要があるのだ。 https://soudai.hatenablog.com/entry/2017/06/03/183508

Slide 59

Slide 59 text

信頼を勝ち取るために
 
 良質なアウトプットが必要
 信頼を勝ち取る

Slide 60

Slide 60 text

結果、データベースの信頼性が上がり
 
 サービスの全体の信頼性が上がる
 信頼を勝ち取る

Slide 61

Slide 61 text

1. 自己紹介
 2. 風土と文化とDBRE
 3. 作る人が最も答えに近い
 4. 信頼を勝ち取る
 5. まとめ
 あじぇんだ

Slide 62

Slide 62 text

Database Reliability Engineering
 
 は哲学であり、運用のスタイル
 まとめ

Slide 63

Slide 63 text

職人芸ではなく
 
 仕組みで問題を解決していく
 まとめ

Slide 64

Slide 64 text

問題を対処するのではなく
 
 予防することで解決する
 まとめ

Slide 65

Slide 65 text

誰かがやってくれる
 
 ではなく、自分たちがやる
 まとめ

Slide 66

Slide 66 text

 その先に、DBREがある
 
 
 まとめ

Slide 67

Slide 67 text

データベースの寿命は
 
 アプリケーションよりも長い
 まとめ

Slide 68

Slide 68 text

今の自分の行動が
 
 未来の誰かを救うことになる
 まとめ

Slide 69

Slide 69 text

まとめ

Slide 70

Slide 70 text

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