ビズリーチサービスが抱えていた課題
弊社には3~4年前までDBAという専門職はいませんでした。最近は優秀なDBAにジョインいただき、データストア層の改善を進めてきましたが、同時に以下のような課題もありました。
- プロビジョニング、モニタリング、バックアップ、運用など同じことを各事業で行っている
- 全事業にDBAを配置できていない
- スクラムチームごとにDBに強い人材が必要になるケースがある
- DBAができたことで逆に開発者がデータストアの可用性・信頼性などを意識しなくなった
- 開発部隊とDBAの意図せぬ分断
- 適切にDBに対するモニタリングができない
- 課題を開発チームと共有・改善できない
- DBAによるレビュー工程が入ることにより、納期に間に合わないケースがある
弊社ではスクラムやマイクロサービス化などを実施している事業もあるのですが、スクラムチームやマイクロサービスごとにデータストア関連の権限を移譲して自律的に動くチームをつくりたいと考えても、そもそもメンバーにデータベースに対する知見がなく、知見を深めようにもデータストア用の開発環境、SandBox環境が存在しないケースもありました。
また、DBAを配置したとしても、アプリケーションエンジニアのタスク増や、DBAによるレビュー工程で発生した手戻りなどにより、エンジニアチームとの間に意図せぬ溝を生んでしまうこともありました。
そのような中DBAチームからDBRE組織の提案があり、我々が直面している課題の解決策ではないかとチーム組成に動き出したのが経緯です。DBAが門番としてデータストアを管理する体制ではなく、開発チームが自律的にデータストアを安全に管理・運用できるプラットフォームを作る体制を目指して動き出しました。
現在のDBREチームの活動
DBREチームは動き始めたばかりですが、
- データストアに関わる3大非機能要件(Provisioning、Monitoring、Backup)の共通化を行い各事業の労力を最小化する
- Platform化(共通化)を推進して、開発チームが業務に集中できる環境づくり
といった取り組みをメインに動いています。
Platform化といっても、開発チームをがんじがらめにするのではなく、現場の自律性を尊重しながら自由にツール選定をできる環境を作りつつも、セキュリティや信頼性など守らなければいけないところはきっちり守る。Toil(トイル)と呼ばれる作業を減らし運用効率も維持・向上させる体制構築を目指しています。
現在注力しているのは全社で使えるバックアップツールのPlatform化です。DBREのメンバーが自分でPythonなどのコードを書きながらツールやプラットフォームを作っています。
この詳しい仕様に関しましては後ほど触れさせていただきます。
