Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
モジュラモノリス、その前に / Modular monolith, before that
Search
Shintani Teppei
October 03, 2024
Programming
1.2k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
モジュラモノリス、その前に / Modular monolith, before that
【オフライン開催】Omotesando.rb #102 の発表スライドです。
https://omotesandorb.connpass.com/event/331315/
Shintani Teppei
October 03, 2024
More Decks by Shintani Teppei
See All by Shintani Teppei
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
710
すべてがオンボーディングタスクになる / Everything becomes an onboarding task
euglena1215
0
170
「地続き」の技術面接 / "Continuous" technical interview
euglena1215
0
130
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
2
340
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
320
ISUCONで型をつける
euglena1215
1
170
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
11
5.8k
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
310
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
1k
Other Decks in Programming
See All in Programming
Building an Out-of-Order CPU
latte72
1
800
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
370
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
160
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
150
iOSDC2026登壇資料.pdf
riofujimon
0
190
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
230
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
200
すこし踏み込む CancellationToken
htkym
2
1.2k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
370
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
540
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
6
13k
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
420
エンジニアに許された特別な時間の終わり
watany
109
250k
Code Review Best Practice
trishagee
74
20k
Embracing the Ebb and Flow
colly
88
5.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
30 Presentation Tips
portentint
PRO
1
410
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
330
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
470
Building the Perfect Custom Keyboard
takai
2
890
Building Adaptive Systems
keathley
44
3.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
Everyday Curiosity
cassininazir
0
330
Transcript
2024/10/03 omotesando.rb #102 株式会社タイミー 新谷哲平 モジュラモノリス、その前に スポンサーLT @euglena1215
自己紹介 Shintani Teppei(@euglena1215) • 株式会社タイミー • バックエンド テックリード • ISUCONに向けて過去問に
型をつけています
引用: エンジニア681名に聞いた「今、注目している企業」|2024年9月最新版 https://findy-code.io/blog/featured-companies-202409/ Findyの「直近1年で知って 興味を持った企業」に選出していた だきました🎉
【宣伝】Kaigi on Rails 終了後 Drinkup やるよ! https://youtrust.connpass.com/event/332094/
2024/10/03 omotesando.rb #102 株式会社タイミー 新谷哲平 モジュラモノリス、その前に スポンサーLT @euglena1215
どんなことを話すか タイミー、モジュラモノリスやっていきます! と宣言して早2年。 試行錯誤しながら進めてみて、今モジュラモノリスを どのように捉えているかを話してみたいと思います。
モジュラモノリスとは モジュラモノリスとは、各メンバーが全てのコード・変更を把握するのが 困難になり、詳しくないコードがある中でもなんとか開発をやっていくしかない 組織向けのアーキテクチャのプラクティス。
モジュラモノリスとは モジュラモノリスとは、各メンバーが全てのコード・変更を把握するのが 困難になり、詳しくないコードがある中でもなんとか開発をやっていくしかない 組織向けのアーキテクチャのプラクティス。 なぜそういった組織がモジュラモノリスアーキテクチャに辿り着くのかを モジュラモノリスの成り立ちを予想しながら話してみます。
モジュラモノリスの成り立ちを予想する チームごとに変更するコードの範囲が異なる状況で開発を行なっていると...
モジュラモノリスの成り立ちを予想する 着ぐるみに 詳しい 揚げ物に 詳しい トルコアイスに 詳しい ワインに 詳しい チームごとに知識の偏りが発生し、チーム間での知識格差が起きる
モジュラモノリスの成り立ちを予想する ちょ、溶けるって! 知識格差が生まれるからこそ、特定領域の知識を持つ人が知識を持たない人の 変更に対してチェックを行う必要が生まれる(コードの所有権) 揚げ物に トルコアイス追加するね
モジュラモノリスの成り立ちを予想する コードレビューはチーム内で完結した方が早いため、 なるべく他チームと独立した形で実装が行われるようになる コードレビューまだかな... うちのチームは今日は MTGデーなので レビューできないよ
モジュラモノリスの成り立ちを予想する 次第にコードは疎結合になっていく 結果として、よく紹介されるモジュラモノリスの形に近づく このアーキテクチャに 名前をつけよう
改めてモジュラモノリスとは モジュラモノリスとは、各メンバーが全てのコード・変更を把握するのが 困難になり、詳しくないコードがある中でもなんとか開発をやっていくしかない 組織向けのプラクティス。 少人数で開発していて全員がほぼ全てのコードに目を通しているような状況では 気にしなくていい(と個人的には思う) モジュラモノリスの波に 乗り遅れる!
改めてモジュラモノリスとは モノリス辛いからモジュラモノリス目指すぞ!となった際も packwerkなどのツール選定を行う前にすべきことがある。
モジュラモノリスその前に Q. チームごとに変更するコードの領域の重なりが十分に小さい? ✅ Good! ❌ チームの責務の整理が必要
モジュラモノリスその前に Q. コードを変更する際は、メンテする人が必ずチェックする体制になっている? 他チームがメンテしているコードは 他チームからのレビューが行われる ✅ Good! 他チームがメンテしているコードでも 誰でも好きに変更できる ❌
コードオーナー文化の醸成が必要
モジュラモノリスその前に 以下の質問に Yes と答えられますか? Q. チームごとに変更するコードの領域の重なりが十分に小さい? Q. コードを変更する際は、必ずメンテする人がチェックする体制になっている? もしかすると新たなツールの導入の前にやれることがあるかもしれない
今取り組もうとしていること ちなみに質問に我々が答えると... Q. チームごとに変更するコードの領域の重なりが十分に小さい? → A. Q. コードを変更する際は、必ずメンテする人がチェックする体制になっている? → A.
今取り組もうとしていること ちなみに質問に我々が答えると... Q. チームごとに変更するコードの領域の重なりが十分に小さい? → A. 微妙... Q. コードを変更する際は、必ずメンテする人がチェックする体制になっている? →
A.
今取り組もうとしていること ちなみに質問に我々が答えると... Q. チームごとに変更するコードの領域の重なりが十分に小さい? → A. 微妙... Q. コードを変更する際は、必ずメンテする人がチェックする体制になっている? →
A. いいえ
今取り組もうとしていること ちなみに質問に我々が答えると... Q. チームごとに変更するコードの領域の重なりが十分に小さい? → A. 微妙... Q. コードを変更する際は、必ずメンテする人がチェックする体制になっている? →
A. いいえ まずはここを Yes と言えるように改善を進行中🔥
2024/10/03 omotesando.rb #102 株式会社タイミー 新谷哲平 モジュラモノリス、その前に スポンサーLT @euglena1215
懇親会 or カジュアル面談で話しましょう! https://product-recruit.timee.co.jp/casual モジュラモノリスについてもっと議論したい方は 懇親会かカジュアル面談で対戦よろしくお願い します! 「タイミー カジュアル面談」で検索 🔍 備考欄に「新谷とモジュラモノリスの話をしたい」と書いたら
100%自分がアサインされます。