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
モジュラモノリス、その前に / Modular monolith, before that
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shintani Teppei
October 03, 2024
Programming
1.1k
8
Share
モジュラモノリス、その前に / 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
すべてがオンボーディングタスクになる / Everything becomes an onboarding task
euglena1215
0
100
「地続き」の技術面接 / "Continuous" technical interview
euglena1215
0
55
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
290
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
270
ISUCONで型をつける
euglena1215
1
150
3年でバックエンドエンジニアが5倍に増えても破綻しなかったアーキテクチャ そして、これから / Software architecture that scales even with a 5x increase in backend engineers in 3 years
euglena1215
11
5.7k
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
270
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
950
Ruby の型に関する活動をやっている話 / Activities related to Ruby types
euglena1215
3
430
Other Decks in Programming
See All in Programming
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
440
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
220
10 Tips of AWS ~Gen AI on AWS~
licux
5
420
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
620
Liberating Ruby's Parser from Lexer Hacks
ydah
2
1.5k
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
120
GitHubCopilotCLIをはじめよう.pdf
htkym
0
200
tRPCの概要と少しだけパフォーマンス
misoton665
2
220
NakouPAY説明用
annouim0
0
240
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
560
의존성 주입과 모듈화
fornewid
0
150
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
470
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.2k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
160
Utilizing Notion as your number one productivity tool
mfonobong
4
290
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
270
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Mobile First: as difficult as doing things right
swwweet
225
10k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
170
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
110
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
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%自分がアサインされます。