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
マイクロサービスではなくモジュラモノリスを採用した理由
Search
Kyosuke Awata
July 22, 2023
Programming
2.8k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マイクロサービスではなくモジュラモノリスを採用した理由
モジュラモノリス徹底解剖〜実践者から学ぶLunch LT〜 の登壇資料
https://findy.connpass.com/event/289311/
Kyosuke Awata
July 22, 2023
More Decks by Kyosuke Awata
See All by Kyosuke Awata
AI時代を生き抜くために〜1年間のFAST実践で学んだ、自律分散型組織の可能性と難しさ〜 / Surviving the AI Era: Lessons in a Decentralized Autonomous Organization with FAST
wooootack
0
2k
FAST導入1年間のふりかえり〜現実を直視し、さらなる進化を求めて〜 / Review of the first year of FAST implementation
wooootack
1
5.5k
FASTと向き合うことで見えた、大規模アジャイルの難しさと楽しさ / FAST Taught Me Large-Scale Agile Hardships and Fun
wooootack
2
4.3k
(新URLに移行しました)FASTと向き合うことで見えた、大規模アジャイルの難しさと楽しさ
wooootack
0
1.5k
チーム全員で品質課題の改善のために取り組んだことを振り返る / Quality improvement team reflection
wooootack
4
4.5k
無理せずに みんなで作ろう 発信文化
wooootack
3
4.8k
雰囲気でSWRを使ったらハマった話
wooootack
0
76
RustでREST_APIを開発した話.pdf
wooootack
0
280
Other Decks in Programming
See All in Programming
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
140
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
Performance Engineering for Everyone
elenatanasoiu
0
250
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
0
370
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
680
AIエージェントで 変わるAndroid開発環境
takahirom
1
330
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
190
関数型プログラミングのメリットって何だろう?
wanko_it
0
120
継続モナドとリアクティブプログラミング
yukikurage
2
250
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
Agentic UI
manfredsteyer
PRO
0
220
Featured
See All Featured
Design in an AI World
tapps
1
260
Designing for Timeless Needs
cassininazir
1
270
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
Marketing to machines
jonoalderson
1
5.5k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
The Invisible Side of Design
smashingmag
301
52k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
How to Talk to Developers About Accessibility
jct
2
280
Transcript
マイクロサービスではなく モジュラモノリスを選んだ理由 ~選ばれたのは、モジュラモノリスでした~
名前 粟田 恭介(@wooootack) 経歴 2019年に異業種からエンジニアに転職し、 2021年にプラハに入社。 仕事内容 フルサイクルエンジニアとしてプロダクト開発全般に従事。 約1年前からチームリーダーとして、マネジメントにも挑戦中。 趣味
車(写真は愛車)、アイドルヲタク(歴長め)、ぷよテト(テトリス勢) 自己紹介
(2022年6⽉にジョイン) アガルートアカデミー 新規サービス等 開発⽀援 ・・・ オンライン資格予備校 運営会社 グループ会社 教育事業の⼀つ アガルートアカデミーについて
技術負債が溜まり続けた既存システム • リリースから約8年、技術負債が溜まり続けていた • テストやドキュメントがなく、全てを知るのは当時の開発者だけ • そしてシステムを直せない結果生まれた、大量の「運用回避」 新機能を別システムとして作り 既存システムから新システムに少しずつ移行
マイクロサービスでやろうよ!
マイクロサービスを侮っていた そう簡単に作れるものではない • サービス間で整合性担保するの、こんな難しいの? • インフラエンジニアいないけど、サービスごとに環境用意できるか? • 経験者いないけど、気合で乗り切れるのか? 社外の経験者に話を伺ってみたが、厳しい意見がほとんど •
デプロイ待ちが発生しているくらい肥大化してないなら、メリットが少ない • 共通処理専門チームやインフラ専門チームが存在していないと手が足りない • おそらく今の状態だと、マイクロサービスが負債になる
やっぱりモノリス、、、?
モノリスで内部品質を高く保つことは難しい • 雑に書くとすぐに大きな泥団子になってしまう • 内部品質を高く保つには、ある程度の設計スキルが必要 • 将来的にマイクロサービスに移行しづらい 将来性が少し心配
第3の選択肢:モジュラモノリス
泥団子化を防ぎやすい シナリオ層 データベース モジュールB モジュールC モジュールA
マイクロサービスへの布石になる サービス境界を探ることができる • モジュール境界はサービス境界に比べて戻しやすい 先にDBを分割することも可能 • モジュールごとにDBを用意しても良い • モジュール間の整合性担保がサービス間の整合性担保に化けるかも?
今日のまとめ
私たちがマイクロサービスを選ばなかった理由 負債になってしまう可能性が高いと判断した • インフラや共通処理の専門チームを用意できる組織の規模ではなかった チームの規模やサービス特性的にも過剰と判断した • チームの規模が大きすぎてデプロイ待ちが起きるよう状況ではなかった • そこまで柔軟なスケールアップが必要ではなかった
私たちがモジュラモノリスを選んだ理由 大きな泥団子状態になるのを防ぎたかった • モジュールという強い概念を持ち込むことで、仮に泥団子になってしまっても、モ ジュール内にその影響をとどめられる マイクロサービスに移行する可能性はゼロではない • サービス境界の見極めや、先にDBを分割するなど、布石にできる
唯一絶対の答えはない 置かれた状況から自分たちにとって最適な選択を導き出す • 組織の規模や文化 • サービスの特性 • エンジニアの技術力 • リリースまでの期間
• など
We are Hiring 株式会社プラハの応募はこちらから ぜひ⼀緒に、ものづくりを楽しみましょう! 頭の中にしかないアイデアを形にしていく「ものづくり」はすごく楽しいことです。 しかし学ぶべきことも数多くあり、難しい局⾯に⽴ち向かうことも多々あることでしょう。 そんな時、⼀緒に切磋琢磨できる仲間が集まっていれば、どんな挑戦にも楽しく挑めるのではないでしょうか。 そのような素晴らしい環境で「ものづくり」をしたいと感じてくれた⽅がいましたら、ぜひお声がけください! 株式会社アガルートテクノロジーズの応募はこちらから
https://tech.agaroot.co.jp/#recruit https://www.praha-inc.com/recruit