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
350
[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
770
[2024/04/23]tbls活用事例 〜 ビューポイントから データベースを整理してみた話 〜
tosite
0
360
[2023/09/15]ER図クエスト 過ぎ去りしドキュメントを求めて 〜複雑性に眠る秘宝〜
tosite
0
580
[2022/12/07]この素晴らしいアプリケーションにテストコードを
tosite
0
39
[2022/03/25]コミュニティから学ぶエンジニアリング
tosite
0
330
[2021/12/16]テストコードのないレガシーアプリケーションとの向き合い方
tosite
0
49
[2019/07/27]はじめよう、ニコカレ!
tosite
0
32
[2019/03/23]プルリクとの上手な付き合い方
tosite
0
21
[2018-12-12]ティファニーで転職を〜夏の日の2018〜
tosite
0
37
Other Decks in Technology
See All in Technology
Lambdaと地方とコミュニティ
miu_crescent
2
370
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
いざ、BSC討伐の旅
nikinusu
2
780
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
230
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
490
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
[FOSS4G 2019 Niigata] AIによる効率的危険斜面抽出システムの開発について
nssv
0
310
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
2
220
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
190
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Rails Girls Zürich Keynote
gr2m
94
13k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Writing Fast Ruby
sferik
627
61k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
What's new in Ruby 2.0
geeforr
343
31k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
RailsConf 2023
tenderlove
29
900
GitHub's CSS Performance
jonrohan
1030
460k
A designer walks into a library…
pauljervisheath
203
24k
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×シフトレフト - 俺またプロダクト救っちゃいました!?〜
にふぇーでーびたん!