Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20190805_DBRE_Night

_awache
August 05, 2019

 20190805_DBRE_Night

20190805 そーだいなる DBRE Night での発表資料です

_awache

August 05, 2019
Tweet

More Decks by _awache

Other Decks in Technology

Transcript

  1. Hello!!
 *********** 1. row ********** name: 粟田 啓介 nickname: あわっち

    title: DBRE twitter: @_awache 1 rows in set (0.00 sec) mysql > SELECT * FROM me \G
  2. 横断組織 誕生
 ◦ 2018年 8月 ➢ インフラ・SREメンバーが集まって構成 ▪ DB系は一人 ▪

    当時の MGR「あわっちをどうしたらいいか悩むわ」 • ならなぜ僕をここに呼んだ Σ(゚ロ゚;) ▪ 一人で組織横断DBAってどうなの? • 最初は組織横断DBAとして何をしたらいいかが分からなかった • まずは何をしたいか、自分の目標設定からスタート
  3. 自分の活動の軸を決める(1)
 ◦ 事業の成長を妨げる要因にならない ➢ 例えば 3年後に売り上げが 10倍 〜 となったとしても ▪

    成長についていける基盤を作る必要性 ▪ Database が要因となって事業戦略を諦めさせない ▪ 同時に事業の成長スピードを上げる手助けを行う
  4. DBAはいなくてもアプリは動く
 ◦ ちょっとぶっ飛びすぎ感はあるけれども ➢ 実際問題 DBA はエンジニア全体からするとかなり希少 ▪ 大抵は問題が起こった時 DBちょっとできる人が筋肉運用

    ▪ インフラエンジニア と呼ばれる人が兼任することが多い気が する ➢ アプリケーション設計や実際に流れるクエリの組み立ては アプリケーションエンジニアが行う ▪ DBA による Review がなくても自由に作ればいい • 最近は ORM も充実しているので。。。
  5. ビズリーチの課題
 ◦ DBA そのもののリソース不足 ➢ DB運用に必要な最低限のモノゴトが無い ▪ DB にかける時間が考慮されていない ▪

    Monitoring/Backup/Restore など ➢ 各事業で同じものを別々の方法で作っている ▪ Monitoring/Backup/Restore など ➢ DB設計などの相談先の不在 ▪ アプリケーションのソースコードと密結合された DBスキーマ ▪ それまでの開発の文化が設計にそのまま反映されてしまう • 複数の意味を持つカラムの存在 • 先人のマジカルな仕様の聖域化 など
  6. 自分が中央集権をしたら
 ◦ こんな 横断DBA になりそう ➢ ゲートキーパー ➢ サイロ化 ➢

    アプリケーションエンジニアとの無意味な壁、確執 ➢ アプリケーションの求めるスピードについていけない
  7. DBRE グループ 稼働率の定義
 ◦ DB インスタンスとしての稼働率 ➢ 直接的には 各プロダクトが守るべきもの ➢

    間接的に守る手段を DBRE としての稼働率として定義 ▪ Backup ▪ Monitoring ▪ Provisioning etc. 品質と信頼性を一本化するためのアクション 本質的には各プロダクトに存在する
  8. DBRE グループ 稼働率の定義
 ◦ 企業としての稼働率 ➢ 各部署のサポート ▪ 現段階では ビズリーチ、キャリトレに対して実施

    • DBA が存在するところでまずは実施 • DBA がいることによる課題の吸い上げ、 アプローチ方法 などを一緒に実施できる ▪ このナレッジを横展開していく土台作りの段階
  9. ナレッジの横展開
 ◦ DBAがいない部署に展開するために ➢ できる限り コード化する ▪ PITR が必要なら •

    画面からぽちぽちしていく作業をコマンドにする • 定期的にテスト実行することで信頼性も上げる ▪ 大量の Slow Query をなんとかしたい • Cloudwatch に Slow Query を吐いておいて • 時間指定で取得して pt-query-digest に喰わせる コマンドにしてみる • クエリチューニングの判断材料に
  10. DBRE グループ の今後の理想像
 DBRE 推進していく中で新しい技術などを積極的に取り入れて • 社内のプラットフォームだからこそ、ある程度の自由が許される • 周りから見て DBRE

    って面白そうと思ってもらえるような技術の選定をしながら • 共通プラットフォームとしての機能を開発していき • 迷える若手がいた際には 「俺んとこ来ないか?」 • って自信を持って言える組織にしたい • いつでも SWE、QA、SRE などのロールに柔軟に Job Change できれば更によし
  11. まとめ
 ◦ ぼっちにならない為に ➢ まずは周りを巻き込む基盤を作る ▪ ルールで雁字搦めにしない • 誰でも同じことができる仕組みを作って協業する ➢

    Database を聖域化しすぎない ▪ DBA は希少かもしれないが エンジニアはたくさんいる ▪ その人たちの強みを上手く活かしつつヒトのサイクルも考えながら組織づ くりを進める
  12. Database Reliability Engineering
 ◦ オライリー本 ➢ 英語版しかない ▪ Amazon で買うのが一番安い

    • 古巣の本屋さんとかあるけど ¥12,096- とか。。 • とりあえずイギリスから届く
  13. DBRE本 輪読会
 ◦ 英語そんなに得意じゃない人材なので ➢ しっかり読むためにはまずは写経 ▪ 某翻訳さんと 某検索エンジンさんのコンボ •

    大枠をそのまま翻訳にかけて • 分からないところは句や節で ggrks すると スラングにも多少は対応できた • 社内の有志が巻き込まれてくれて輪読会実施中