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.2k
[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
1k
[2024/07/11]Guardianとして生まれ変わった俺は攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜
tosite
0
1.1k
[2024/04/23]tbls活用事例 〜 ビューポイントから データベースを整理してみた話 〜
tosite
0
540
[2023/09/15]ER図クエスト 過ぎ去りしドキュメントを求めて 〜複雑性に眠る秘宝〜
tosite
0
770
[2022/12/07]この素晴らしいアプリケーションにテストコードを
tosite
0
52
[2022/03/25]コミュニティから学ぶエンジニアリング
tosite
0
450
[2021/12/16]テストコードのないレガシーアプリケーションとの向き合い方
tosite
0
87
[2019/07/27]はじめよう、ニコカレ!
tosite
0
53
[2019/03/23]プルリクとの上手な付き合い方
tosite
0
37
Other Decks in Technology
See All in Technology
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
370
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
280
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
120
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
350
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
440
KotlinConf 2025_イベントレポート
sony
1
110
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
150
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.2k
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
230
エラーとアクセシビリティ
schktjm
1
1.2k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
The World Runs on Bad Software
bkeepers
PRO
70
11k
The Invisible Side of Design
smashingmag
301
51k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Rails Girls Zürich Keynote
gr2m
95
14k
Typedesign – Prime Four
hannesfritz
42
2.8k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Building Applications with DynamoDB
mza
96
6.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×シフトレフト - 俺またプロダクト救っちゃいました!?〜
にふぇーでーびたん!