Reliability Engineering (DBRE) とは n 主な役割 n SLO/SLI を測定し、それに合わせた開発組織へのアプローチ n ⾃動化、⾃律化推進による⽣産性の向上 n Backup/Restore などサービス稼働率の向上 n Database セキュリティ & ガバナンスコントロール n 他分野のスペシャリストとの分野を超えたコラボレーション Database に対する専⾨知識と判断を⽤いてサービスの信頼性を担保すること
n Cloud によって誰でも⼀定のレベルで解決できる⼟壌が揃っている n Cloud 技術の爆発的な発展 n DevOps / SRE 思想の醸成 n AI 技術の進歩 n ⼀⽅で Database そのものに対する基本的なアプローチはこれまでと変わっていない n 環境分離 n 構成管理 n パフォーマンスチューニング n Backup/Restore n Security & Governance 変化しているのは Database を取り巻く周りの環境
n 個別の機能をいかに Platform として昇華させるかを考える n ただやるだけではつまらない n 実現していることは枯れたこと n How の部分をモダンに楽しく n 今回共有した内容は⼀⾔で⾔うとドキュメントを⾃動⽣成したり、踏み台サーバを使いたい時に構築しているだけ n そこに DBA としてのナレッジと AWS の技術を組み込んで実現することで楽しみながら開発 DBRE Platform Tools
n Amazon Aurora for MySQL n Amazon Bedrock n Amazon CloudWatch n Amazon DevOps Guru n Amazon DynamoDB n Amazon EC2 n AWS Lambda n AWS Secrets Manager n AWS Step Functions KTC DBRE を⽀える技術 n 開発⼿法 n Scrum n 開発⾔語 n Golang n Monorepo 管理 n Nx n CICD n GitHub Actions n Infrastructure as Code n Terraform KTC はたまたま AWS をメインクラウド、MySQL をメインの RDBMS として利⽤しているが、 基本的にインフラ基盤や RDBMS は何であっても代⽤可能 (と思っています。。)
この設定によりマイナーバージョンアップが予期せぬタイミングで発⽣する可能性がある n バージョンアップの発⽣⾃体は避けられないが、事前に把握できることが重要 n マイナーバージョンアップはフランクに⾏われることが多い印象 n 前⽇にこの通知を確認したものの、メールでの連絡は事後というケース n 前⽇にこの通知を確認したものの、当⽇になってキャンセルになったケース n 基本は ZDP (Zero Downtime Patch) を信頼 n 失敗する可能性もあるので⼼の準備として背後にあるトリガーを認識する
DB 設計相談 n プロダクトと AWS のコミュニケーション Hub n 社内勉強会 n 新技術検証 n MySQL 8.0 パラメータ n Dual Password n Aurora ZeroETL n ⽣成 AI n 企業価値向上施策 n 外部イベント登壇 n イベント開催 n テックブログ執筆
の波に乗らない理由がない n エンジニアだけではなくさまざまな業種の⼈たちが活⽤している n 使わなくても仕事はできる、が Word や Excel と同じように様々な⼈・業種で⽣成系 AI を 使うことが当たり前になる時代になる (と個⼈的には思っている) n どうやって使うかによって今でも業務効率を⼤幅に改善可能 ⾃分たちの当たり前レベルを上げることで 今の市場価値を⾼める 将来的な市場価値を下げない
n アプリケーションそのものに対する影響 n 外部連携しているサービスへの影響 n (割とある) 忘れ去られた管理システム n 影響範囲が広いため調査と調整コストが⼤きくなりがち n アプリケーションコードで何とかしようとするとマジカルな仕様ができてしまう n マジカルな仕様は調査・学習コストを上げ、属⼈化や開発⼯数の増加を引き起こす 早い段階でどれだけ適切に設計できるかは開発⽣産性に⼤きく影響してくる
AI がやるか ≒そこにある感情や状況を評価するかどうか n ⼈は⾃分にできないことを聞きづらい n こんなこともできないのかと思われたくない n 何が分からないのか分からず、質問の仕⽅を考えることに時間がかかってしまう n 聞く⼈が忙しい、など状況を何となく察してしまう n 忙しそうだと聞けないなどが発⽣し時間をかけて⾃⼰解決するように振る舞ってしまう n 結局⽣産性という観点ではマイナスに働いてしまう AI なら感情や状況を気にせず質問できる
AI に指摘されることでは受け⽌め⽅が違う n サービスにはその歴史と携わった⼈たちの想いがある n Review で正論で指摘されると反論できない⼼理も働きやすい n バックグラウンドやドメイン知識を持たない横断組織が⾏ってしまうとハレーションが溜まりやすい n (特に Database 関連の Review になるとお作法に従っているかどうか、という観点で Review しがち) AI であれば、「機械だしまぁ⼀意⾒として聞いておくか」くらいの軽い気持ちで受け⽌められる 間違っていても、(今なら) AI だしな、という反応ができる 期待通りの結果が得られなければ素早く聞き直すことができる
によるサポートを提供することで開発⽣産性に寄与する n DBRE が⾏うのは⽣成系 AI を活⽤したツールを開発して終わりではない n もちろん使われなければ意味がない n ⾃分たちの思いを仕組みに乗せ続けることで、(意識せずとも) DBRE が伴⾛している状態を形成することができる n (そして忘れてはいけないのは DBRE のやることはこのほかにもたくさんある) (今の) ⽣成系 AI の活⽤に期待していること