Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[2024/10/25]CREの守護者たち 〜DevOps×シフトレフト - 俺またプロダクト...
Search
tosite
October 25, 2024
Technology
0
1.6k
[2024/10/25]CREの守護者たち 〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
JaSST'24 Kyushu LT Session
https://jasst.jp/symposium/jasst24kyushu.html
tosite
October 25, 2024
Tweet
Share
More Decks by tosite
See All by tosite
[2025-02-07]生成AIで変える問い合わせの未来 〜チームグローバル化の香りを添えて〜
tosite
1
1.1k
[2024/07/11]Guardianとして生まれ変わった俺は攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜
tosite
0
1.2k
[2024/04/23]tbls活用事例 〜 ビューポイントから データベースを整理してみた話 〜
tosite
0
610
[2023/09/15]ER図クエスト 過ぎ去りしドキュメントを求めて 〜複雑性に眠る秘宝〜
tosite
0
810
[2022/12/07]この素晴らしいアプリケーションにテストコードを
tosite
0
57
[2022/03/25]コミュニティから学ぶエンジニアリング
tosite
0
480
[2021/12/16]テストコードのないレガシーアプリケーションとの向き合い方
tosite
0
92
[2019/07/27]はじめよう、ニコカレ!
tosite
0
58
[2019/03/23]プルリクとの上手な付き合い方
tosite
0
39
Other Decks in Technology
See All in Technology
入社したばかりでもできる、 アクセシビリティ改善の第一歩
unachang113
2
350
未回答質問の回答一覧 / 開発をリードする品質保証 QAエンジニアと開発者の未来を考える-Findy Online Conference -
findy_eventslides
0
410
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
120
小規模チームによる衛星管制システムの開発とスケーラビリティの実現
sankichi92
0
130
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
0
130
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
7.2k
PostgreSQL で列データ”ファイル”を利用する ~Arrow/Parquet を統合したデータベースの作成~
kaigai
0
160
単一Kubernetesクラスタで実現する AI/ML 向けクラウドサービス
pfn
PRO
1
360
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
610
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
3
700
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
3
410
SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え
foostan
2
1.2k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Code Review Best Practice
trishagee
72
19k
Producing Creativity
orderedlist
PRO
348
40k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
680
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Unsuck your backbone
ammeep
671
58k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Transcript
CREの守護者たち 〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜 株式会社マネーフォワード ERP開発本部 福岡第一開発部 Guardianグループ 手島 尚人
/ tosite 2024-10-25 JaSST'24 Kyushu 実行委員LTセッション
はいさい ぐーすよー ちゅー うがなびら 訳: 皆さんこんにちは、ごきげんよう CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
うちなーぐちさーに ちゅくとぅば えーさち うんぬき やびら 訳: うちなーぐち(沖縄弁)で一言ご挨拶申し上げます CREの守護者たち〜DevOps×シフトレフト
- 俺またプロダクト救っちゃいました!?〜
わんねー tosite やいびーん 福岡から ちゃーびたん 訳: tositeと申します 福岡から来ました CREの守護者たち〜DevOps×シフトレフト
- 俺またプロダクト救っちゃいました!?〜
ゆたしく うにげーさびら 訳: 今日はよろしくお願いします CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
改めまして 初めまして CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜 株式会社マネーフォワード ERP開発本部 福岡第一開発部 Guardianグループ クラウド経費チーム リーダー
/ バックエンドエンジニア 手島 尚人 / tosite 趣味: キャンプ・登山・料理・ドライブ・温泉・車中泊
None
昨日の出来事 美味しかったですが 会計については 思い出したくないです
None
一目惚れして 買ってしまいました・・・
最近の趣味 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
None
たのしい!(*^ー゚)v CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
None
家庭で作るラーメンにも 手を出し始めた始末 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
いま一番欲しいものは 製麺機です 対戦よろしくお願いします CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
閑話休題 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
私事ですが今期から Guardianグループ 経費チームのリーダー に就任しました CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する
〜守りの天才が考える、攻めの運用術〜 より引用
今日はチームリーダーの立場から Guardianの取り組みについて 紹介したいと思います CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜
より引用
Guardian って何? Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
まずは「現在」の話をしよう CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
我々Guardianグループはプロダクトの 保守・運用を中心に守護する組織です。 CRE(Customer Reliability Engineering)に近い 組織ですが、ただ単に運用・保守だけを行うだけでなく、 能動的に働きかけてプロダクトを前に進める、 言わば「DevOps」を体現するチームです。 CREの守護者たち〜DevOps×シフトレフト -
俺またプロダクト救っちゃいました!?〜 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
我々Guardianグループはプロダクトの 保守・運用を中心に守護する組織です。 CRE(Customer Reliability Engineering)に近い 組織ですが、ただ単に運用・保守だけを行うだけでなく、 能動的に働きかけてプロダクトを前に進める、 言わば「DevOps」を体現するチームです。 CREの守護者たち〜DevOps×シフトレフト -
俺またプロダクト救っちゃいました!?〜 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
Guardianグループでは問い合わせ対応だけでなく 定常業務の効率化や 不具合になりそうな部分の改修を 行っています CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する
〜守りの天才が考える、攻めの運用術〜 より引用
ここまでが「今まで」の Guardianグループ Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト
- 俺またプロダクト救っちゃいました!?〜
新しい 取り組み 〜攻めと守り〜 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
リーダー就任にあたって再び「Guardian」 という組織の存在意義を考えた結果 「保守」「運用」を再定義 することにしました Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
現在のGuardianグループは 保守・運用を主に担当しています カスタマーサポートからの問い合わせ対応や 定型業務の運用、サービスの保守などなど Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
そしてそれ以外にもライブラリの アップデートや不具合修正 パフォーマンスチューニングや 新機能追加などの開発も行っています Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
保守・運用はSaaSにとって大切な仕事ですが… それだけでは成り立たず 将来の負債を減らすための活動 もしていく必要があると思っています Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
そこで我々は運用を 攻めの運用と守りの運用に 分割して再定義することにしました Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
攻めの運用 将来顕在化する見込みの 運用上の問題に対し、 発生前に先んじて対応を 行うタスク 守りの運用 すでに運用上の問題が 発生しており、 期限内の対応が 求められるタスク
Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
攻めの運用 将来顕在化する見込みの 運用上の問題に対し、 発生前に先んじて対応を 行うタスク 守りの運用 すでに運用上の問題が 発生しており、 期限内の対応が 求められるタスク
Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
攻めの運用 将来顕在化する見込みの 運用上の問題に対し、 発生前に先んじて対応を 行うタスク 守りの運用 すでに運用上の問題が 発生しており、 期限内の対応が 求められるタスク
Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
すでにこの運用が始まっていますが、蓋を開けてみると 6:4くらいで攻めていて 非常にいい動きができているという データが取れました🎉 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
事例紹介 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
攻めの運用の例 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト -
俺またプロダクト救っちゃいました!?〜
DevOps によるトイルの撲滅 〜駅マスタと銀行マスタ更新を例に〜 DevOps によるトイルの撲滅 〜駅マスタと銀行マスタ更新を例に〜 - Money Forward
Developers Blog Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
全国の駅情報が登録された駅マスタと 最新の銀行情報が登録された銀行マスタを更新する 作業の自動化を行った例です Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
年間約12営業日の作業工数の削減に成功し 浮いた時間をさらなる攻めの運用に 充てることができるようになりました Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
約9年開発されている Rails アプリケーションを 6.1 から 7.0 へメジャーバージョンアップする 約9年開発されている Rails アプリケーションを
6.1 から 7.0 へメジャーバージョンアップする - Money Forward Developers Blog CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
フレームワークのメジャー バージョンアップを行いました! CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
新しいRailsの機能が使えるだけでなく セキュリティ的な観点からも 大きなプロダクトへの貢献となりました CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
tbls活用事例 〜 ビューポイントからデータベースを整理してみた話 〜 [2024/04/23]tbls活用事例 〜 ビューポイントから データベースを整理してみた話 〜
- Speaker Deck Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
データベースのドキュメント作成を自動化し、 スキーマ情報を常に最新化することで 開発速度を向上させた例です Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用
CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
入社してから プロダクトのキャッチアップをする際、また何か調査する際にめちゃくちゃお世話になってます!!! 中でもテーブルやカラムのコメントがありがたく、細かなRailsの実装を見なくとも、それらが何をしているのかがわかるのは本当にありがたいです 🙏 ER 図をシュッと見ることができて便利だと思いました。 リレーションで困ったらすぐ活用してます。 複雑なリレーションを持つテーブルが視覚的に分かるのがとてもいいですね。 有志が追加してくれているdescriptionもとても重宝しています。
開発・調査で迷った際に参照させていただいています。 開発チームの時は、実装する前にリレーションがどうなっているか確認できてとてもよかったです! Guardianになってからは主に調査で活用させてもらいました! シュッと確認できるので、とても助かってます!ありがとうございます! ビューの機能がすごくありがたいです! 膨大なコードベースなので対象の関心ごとを理解するのにすごく役立っています! また、 CIで腐らないER図になっているところも非常にありがたいです! 既存のER図は手運用だったため網羅されていない点や、最新状態でないという点が大きな問題だったかと思っていますが、 tblsの導入でこれらの点が払拭されたと思っています!( 入社のタイミングで欲しかった!) Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
Guardian攻めてる💪 Guardianとして生まれ変わった俺は 攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜 より引用 CREの守護者たち〜DevOps×シフトレフト -
俺またプロダクト救っちゃいました!?〜
その他にもCIの高速化を通して 開発体験の向上を図っています CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
それ以外にも 誰でも実行できるE2Eテストの環境整備など プロダクトの品質向上にも寄与しています CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
品質について 話そう
それ以外にも 誰でも実行できるE2Eテストの環境整備など プロダクトの品質向上にも寄与しています CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
E2Eテストの環境改善を 通して見えてきたこと CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
E2Eテストそのものの成否が Guardianの仕事量 に直結している? CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
リリース前の不具合を検知して 事前に対応できる = 問い合わせの数が減る CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
いにしえの図 CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
このようないい循環が 生まれたことに気づきました CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
問い合わせが削減できるということは プロダクト改善のための開発に 時間を使うことができるようになる ということ CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
つまり、DevOpsを体現するCREチーム 「ガーディアン」のマインドセットに 「シフトレフト」を取り入れることで よりプロダクトを「前に」進めることができる! ΩΩΩ < な、なんだってー CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
シフトレフトのアプローチを取り入れることで DevOpsのプロセスの信頼性が上がり 効率的な開発ができるようになる CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
品質保証活動を前倒しにすることで CI/CDの信頼性が高まり より早く・より高品質なプロダクトを 届けることができる CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
これは 攻めの運用 を実現できている! CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
ただの「保守・運用」ではなく その一歩先を見据えて プロダクトの信頼性を高めていく CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
Guardianグループは今後 そういう取り組みを増やしていきたい CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
シフトレフトは 誰のもの?
思うに、「シフトレフト」とは もはやQAエンジニアだけの責任ではなく プロダクトに携わる開発者全員が意識を 向けるべきものに変化しているように思います \主語が大きい/ CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
例えばユニットテスト CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
ユニットテストが増えることで 自然とE2Eテストの責務が減り 早期にバグを発見できるようになるでしょう CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
他にもユースケースを意識した ユニットテストを書くことで 仕様が明確になり、意図しない エンバグを防ぐことができるかもしれません 例えばRequest Specなど CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
特にRubyは動的型付け言語なので ユニットテストの数と プロダクトの品質が直結します CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
ユニットテストがもっと拡充されていけば Railsのアップデートももっと簡単に できるようになるかもしれません CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
例えばドキュメント CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
開発ノウハウや仕様をまとめた ドキュメントを整備することで 開発スピードの向上やOJT その他諸々のことに使えるでしょう CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
他にも問い合わせの早期解決や 機能改修の際にも便利に使える! CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
例えばカバレッジ CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
現状のカバレッジを集計することで どこの機能のテストが手薄かを 確認でき、次の目標が明確になるでしょう CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
とは言えこれらの施策は場当たり的にやるのではなく よく使われる機能や その機能が参照しているメソッドから 先に対応していくなどの 戦略的アプローチが必要になります CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
そしてガーディアンとして 品質向上に対してのアプローチを 技術的側面から後押ししていきたい と思っております CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
そのことを肝に銘じつつ 今後はより一層、品質の高いプロダクトを 提供していけるように頑張ります! CREの守護者たち〜DevOps×シフトレフト - 俺またプロダクト救っちゃいました!?〜
にふぇーでーびたん!