$30 off During Our Annual Pro Sale. View Details »
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
430
[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
[2024/07/11]Guardianとして生まれ変わった俺は攻めと守りの運用で無双する 〜守りの天才が考える、攻めの運用術〜
tosite
0
800
[2024/04/23]tbls活用事例 〜 ビューポイントから データベースを整理してみた話 〜
tosite
0
370
[2023/09/15]ER図クエスト 過ぎ去りしドキュメントを求めて 〜複雑性に眠る秘宝〜
tosite
0
590
[2022/12/07]この素晴らしいアプリケーションにテストコードを
tosite
0
39
[2022/03/25]コミュニティから学ぶエンジニアリング
tosite
0
330
[2021/12/16]テストコードのないレガシーアプリケーションとの向き合い方
tosite
0
52
[2019/07/27]はじめよう、ニコカレ!
tosite
0
33
[2019/03/23]プルリクとの上手な付き合い方
tosite
0
21
[2018-12-12]ティファニーで転職を〜夏の日の2018〜
tosite
0
37
Other Decks in Technology
See All in Technology
EthernetベースのGPUクラスタ導入による学びと展望
lycorptech_jp
PRO
0
510
深層学習のリペア技術の最新動向と実際 / DNN Repair Techniques for AI Performance Alignment for Safety Requirements
ishikawafyu
0
220
リモートだからこそ 懸念だし1on1
jimpei
2
380
農業用ダム監視を目的とした衛星SAR 干渉解析の適用性について
osgeojp
0
130
検証と資産化を形にするプロダクト組織へ/tapple_pmconf2024
corin8823
1
4.6k
[DevFestTokyo]Accelerating Flutter App Development Using Generative AI
korodroid
1
130
Microsoft 365と開発者ツールの素敵な関係
kkamegawa
1
1.4k
[GDG DevFest Bangkok 2024] - The Future of Retail E-commerce with Gemini AI
punsiriboo
0
250
プロダクトの爆速開発を支える、 「作らない・削る・尖らせる」技術
applism118
7
3.1k
Will multimodal language processing change the world?
keio_smilab
PRO
2
270
サービスの拡大に伴うオペレーション課題に立ち向かう / 20241128_cloudsign_pdm
bengo4com
0
860
GDGoC開発体験談 - Gemini生成AI活用ハッカソン / GASとFirebaseで挑むパン屋のフードロス解決 -
hotekagi
1
530
Featured
See All Featured
Making Projects Easy
brettharned
116
5.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
A Philosophy of Restraint
colly
203
16k
It's Worth the Effort
3n
183
27k
The Cost Of JavaScript in 2023
addyosmani
45
6.9k
GraphQLとの向き合い方2022年版
quramy
44
13k
Side Projects
sachag
452
42k
Being A Developer After 40
akosma
87
590k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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×シフトレフト - 俺またプロダクト救っちゃいました!?〜
にふぇーでーびたん!