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
950
[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
790
[2024/07/11]Guardianとして生まれ変わった俺は攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜
tosite
0
960
[2024/04/23]tbls活用事例 〜 ビューポイントから データベースを整理してみた話 〜
tosite
0
480
[2023/09/15]ER図クエスト 過ぎ去りしドキュメントを求めて 〜複雑性に眠る秘宝〜
tosite
0
690
[2022/12/07]この素晴らしいアプリケーションにテストコードを
tosite
0
47
[2022/03/25]コミュニティから学ぶエンジニアリング
tosite
0
380
[2021/12/16]テストコードのないレガシーアプリケーションとの向き合い方
tosite
0
76
[2019/07/27]はじめよう、ニコカレ!
tosite
0
49
[2019/03/23]プルリクとの上手な付き合い方
tosite
0
26
Other Decks in Technology
See All in Technology
彩の国で始めよう。おっさんエンジニアから共有したい、当たり前のことを当たり前にする技術
otsuki
0
150
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
0
420
3月のAWSアップデートを5分間でざっくりと!
kubomasataka
0
120
AI Agentを「期待通り」に動かすために:設計アプローチの模索と現在地
kworkdev
PRO
2
460
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
160
【Λ(らむだ)】最近のアプデ情報 / RPALT20250422
lambda
0
110
クォータ監視、AWS Organizations環境でも楽勝です✌️
iwamot
PRO
1
320
YOLOv10~v12
tenten0727
4
960
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
120
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
280
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
14
4.9k
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
3
1.9k
Featured
See All Featured
Designing Experiences People Love
moore
141
24k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
A better future with KSS
kneath
239
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
How STYLIGHT went responsive
nonsquared
99
5.5k
KATA
mclloyd
29
14k
Side Projects
sachag
452
42k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Visualization
eitanlees
146
16k
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×シフトレフト - 俺またプロダクト救っちゃいました!?〜
にふぇーでーびたん!