$30 off During Our Annual Pro Sale. View Details »

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

soudai sone
August 24, 2023

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

soudai sone

August 24, 2023
Tweet

More Decks by soudai sone

Other Decks in Technology

Transcript

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

    View Slide

  2. Database Reliability Engineering

    ||

    DBRE

    What is it?

    View Slide

  3. DBREは役割ではなく


    哲学であり、文化

    What is it?

    View Slide

  4. 普段のプロダクト開発の営みの中で


    データベースをメンテナンスする文化

    What is it?

    View Slide

  5. これをどうやって


    チームで実現したか話をします

    What is it?

    View Slide

  6. 1. 自己紹介

    2. 風土と文化とDBRE

    3. 作る人が最も答えに近い

    4. 信頼を勝ち取る

    5. まとめ

    あじぇんだ

    View Slide

  7. 1. 自己紹介

    2. 風土と文化とDBRE

    3. 作る人が最も答えに近い

    4. 信頼を勝ち取る

    5. まとめ

    あじぇんだ

    View Slide

  8. 自己紹介

    曽根 壮大(38歳)

    Have Fun Tech LLC 代表社員

    株式会社リンケージ CTO


    そ  ね   たけ とも

    ● 日本PostgreSQLユーザ会 勉強会分科会 担当

    ● 3人の子供がいます(長女、次女、長男)

    ● 技術的にはWeb/LL言語/RDBMSが好きです

    ● コミュニティが好き

    View Slide

  9. 突然の宣伝

    
予防医療のリンケージ



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

    View Slide

  10. 1. 自己紹介

    2. 風土と文化とDBRE

    3. 作る人が最も答えに近い

    4. 信頼を勝ち取る

    5. まとめ

    あじぇんだ

    View Slide

  11. Database Reliability Engineering






    風土と文化とDBRE

    View Slide

  12. DBREは役割ではなく


    データベースを中心とした運用の哲学

    風土と文化とDBRE

    View Slide

  13. データベースの死は


    サービスの死

    風土と文化とDBRE

    View Slide

  14. だからこそデータベースの問題を


    解決できる人は英雄

    風土と文化とDBRE

    View Slide

  15. 自分自身が、チームが、


    英雄になる日常

    風土と文化とDBRE

    View Slide

  16. 安定したサービス運営


    平和な日々

    風土と文化とDBRE

    View Slide

  17. そういう文化を作っていく



    風土と文化とDBRE

    View Slide

  18. そういう文化を作っていく

    ↓

    Database Reliability Engineering

    風土と文化とDBRE

    View Slide

  19. しかし、文化は


    突然は生まれない

    風土と文化とDBRE

    View Slide

  20. そこで風土が必要



    風土と文化とDBRE

    View Slide

  21. そこで風土が必要

    ↓

    何をつくる?

    風土と文化とDBRE

    View Slide

  22. 障壁を無くす


    インセンティブを作る

    風土と文化とDBRE

    View Slide

  23. ● 風土 = そこで働く人の気質や文化に影響を及ぼす、

    その企業特有の環境こと

    ● データベースは複数の事業やチームに影響を与えることが
    多いため、横断的なコミュニケーションを可能にする

    ○ 例えば専門職を用意する(役割としてのDBRE)

    ● データベースの管理を特権とするのではなく、開発者が直接
    に “安全に” 利用できる状態にする

    ● 問題を治療することよりも予防することを評価する

    DBREを促すために必要な風土の例

    View Slide

  24. 個人の適性や熱意は必要だけど


    それだけでは文化にならない

    風土と文化とDBRE

    View Slide

  25. 個人の適性や熱意は必要だけど


    それだけでは文化にならない

    風土と文化とDBRE
    特定の人物に依存すると DBAと変わらない
    またその人物が燃え尽きたときに文化が途絶え、ロ
    ストテクノロジーと神話が生まれる

    View Slide

  26. DBREを文化にしていくためには


    まずは風土を整えることが大事

    風土と文化とDBRE

    View Slide

  27. 1. 自己紹介

    2. 風土と文化とDBRE

    3. 作る人が最も答えに近い

    4. 信頼を勝ち取る

    5. まとめ

    あじぇんだ

    View Slide

  28. なぜ、開発者がDBREを


    実践する文化が必要か

    作る人が最も答えに近い

    View Slide

  29. データベースは実装された


    データモデルに強く影響を受ける

    作る人が最も答えに近い

    View Slide

  30. データモデリングは


    ビジネスのドメインの影響を強く受ける

    作る人が最も答えに近い

    View Slide

  31. データは積み木


    時間と共に積み上げていく

    作る人が最も答えに近い

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  35. データは積み木
    初期設計

    View Slide

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

    View Slide

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

    View Slide

  38. では誰が積み木を積むか



    作る人が最も答えに近い

    View Slide

  39. では誰が積み木を積むか

    ↓

    ソフトウェア開発者

    作る人が最も答えに近い

    View Slide

  40. 自分たちがデータベースを守るために


    開発者自身がDBREを体現するのが最も早い

    作る人が最も答えに近い

    View Slide

  41. ● レビューをするのではなく、レビューのやり方を教える

    ○ 実行計画の見方、RDBMSの仕組みを教え、実践させる

    ● テーブル設計に必要な知識を適宜提供する

    ○ 輪読会やドキュメントを用意し、一緒に学ぶ

    ○ 必要なツールの導入を検討し、一緒に活用する

    ● 自分たちに必要な仕組みを自分たちで設定し、運用する

    ○ デプロイ、マイグレーション、開発環境を自分たちで作る

    開発者がデータベースを運用する

    View Slide

  42. 開発者に主体的に


    データベースに関わってもらう

    作る人が最も答えに近い

    View Slide

  43. Database Reliability Engineering

    ||

    データベースにオーナーシップを持つ

    作る人が最も答えに近い

    View Slide

  44. 1. 自己紹介

    2. 風土と文化とDBRE

    3. 作る人が最も答えに近い

    4. 信頼を勝ち取る

    5. まとめ

    あじぇんだ

    View Slide

  45. Database Reliability Engineeringを


    実践していく

    信頼を勝ち取る

    View Slide

  46. ドキュメントを作る


    Design Docを残す

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

    View Slide

  47. 設計思想、運用の哲学を伝えれば


    再現性が上がる

    信頼を勝ち取る

    View Slide

  48. 設計思想、運用の哲学を伝えれば


    再現性が上がる

    信頼を勝ち取る
    再現できれば、特定の人に依存しない

    View Slide

  49. 一部を実際にお見せします


    ※イベント参加者だけ

    信頼を勝ち取る

    View Slide

  50. 自分たちが使うツールを自分で選ぶ


    選んだ責任を全うする

    信頼を勝ち取る

    View Slide

  51. LaravelのEloquentではなく、


    Doctrine 2を使う

    信頼を勝ち取る
    リンケージの例


    View Slide

  52. LaravelのEloquentではなく、


    Doctrine 2を使う

    信頼を勝ち取る
    Laravelのバージョンアップの追従は誰がやるの?
    リンケージの例


    View Slide

  53. 信頼を勝ち取る

    View Slide

  54. 信頼を勝ち取る

    View Slide

  55. Database Reliability Engineeringを


    全員が実践していく

    信頼を勝ち取る

    View Slide

  56. Database Reliability Engineeringを


    全員が実践していく

    信頼を勝ち取る
    そうは言っても、行動してくれないんだよな …

    View Slide

  57. DBREを実践するためには


    チームの信頼を勝ち取る必要がある

    信頼を勝ち取る

    View Slide

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

    だからこそみんなの力を借りるためにも信頼されたエンジニアで有る
    必要があるのだ。
    https://soudai.hatenablog.com/entry/2017/06/03/183508

    View Slide

  59. 信頼を勝ち取るために


    良質なアウトプットが必要

    信頼を勝ち取る

    View Slide

  60. 結果、データベースの信頼性が上がり


    サービスの全体の信頼性が上がる

    信頼を勝ち取る

    View Slide

  61. 1. 自己紹介

    2. 風土と文化とDBRE

    3. 作る人が最も答えに近い

    4. 信頼を勝ち取る

    5. まとめ

    あじぇんだ

    View Slide

  62. Database Reliability Engineering


    は哲学であり、運用のスタイル

    まとめ

    View Slide

  63. 職人芸ではなく


    仕組みで問題を解決していく

    まとめ

    View Slide

  64. 問題を対処するのではなく


    予防することで解決する

    まとめ

    View Slide

  65. 誰かがやってくれる


    ではなく、自分たちがやる

    まとめ

    View Slide

  66.  その先に、DBREがある



    まとめ

    View Slide

  67. データベースの寿命は


    アプリケーションよりも長い

    まとめ

    View Slide

  68. 今の自分の行動が


    未来の誰かを救うことになる

    まとめ

    View Slide

  69. まとめ

    View Slide

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



    まとめ

    View Slide