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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryo Tsukahara
June 08, 2023
Technology
810
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マイクロサービス・モジュラモノリス化によるシステム負債の解消プロジェクト
https://dmm.connpass.com/event/284374/
「価値提供スピードを上げるための技術的負債への向き合い方」の発表資料です。
Ryo Tsukahara
June 08, 2023
More Decks by Ryo Tsukahara
See All by Ryo Tsukahara
モジュラモノリスのモジュール間通信の話
trrrrrys
4
3.7k
Other Decks in Technology
See All in Technology
Sets in Go
ramalho
1
920
FDEの心得
noriakioji
5
6.2k
Genie Codeハンズオン基礎編
taka_aki
1
130
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
270
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
140
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
6.2k
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
170
AIコーディングの次。コードレビューと理解負荷を解消して組織の開発生産性を高める
moongift
PRO
2
2.6k
AI-DLC実践録_フルサイクル開発への挑戦
miyuc
0
220
2026-08-05 IBM Z開発最前線!IBM Bob Premium Package for Zって何がすごいの?
yutanonaka
0
140
強化学習「理論」入門
enakai00
3
3.6k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.2k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
56k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
500
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
ラッコキーワード サービス紹介資料
rakko
1
4.4M
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
530
Believing is Seeing
oripsolob
1
190
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
770
Marketing to machines
jonoalderson
1
5.7k
Tell your own story through comics
letsgokoyo
1
1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Transcript
© DMM.com マイクロサービス・モジュラモノリス化による システム負債の解消プロジェクト オンラインサロン事業部 塚原 諒
© DMM.com 自己紹介 2 塚原 諒 2022/04中途でDMM.com入社 所属: オンラインサロン事業部アーキテクトチーム Twitter:
@trrrrrys GitHub: trrrrrys
© DMM.com 話すこと 3 • 現状のシステム的課題 • マイクロサービス・モジュラモノリス化プロジェクトについての紹介 • これまでやってきたこと
• 現在取り組んでいること
© DMM.com 現状のシステム的課題 4
© DMM.com 現状のシステム的課題 5 データベースが分かれていて、アカウント情 報が各々のDBに存在するため 都度データを同期する必要があったり片方 にあって片方にデータがない等フローが複 雑になっている その影響が様々な箇所に及ぶため、リード
タイムが増大し、機能開発の速度を大幅に 低下させている
© DMM.com マイクロサービス・モジュラモノリス化プロジェクトについての紹介 6
© DMM.com 「neon」プロジェクト 7
© DMM.com 「neon」プロジェクト 8 適切な単位でサービスを分割し疎結合化することで、 スケーラビリティの向上やリードタイムの短縮を図る 完全なマイクロサービスではなく、 基本的には主要なサービスをモジュラモノリスとして 扱っていて、一部をマイクロサービスとする クライアントからはBFFを介して利用する
© DMM.com 「neon」プロジェクト 9
© DMM.com これまでやってきたこと 10 各システムに分散されているデータを新 DBに 統一するために awsのMSK(Managed Streaming for
Apache Kafka) の Debezium Connector を利用して、 管理画面・専用のコミュニティサービス DBの 変更を検知し Lambdaで加工して新しいDBに データを同期 管理画面/専用コミュニティのデータを新DBへ同期
© DMM.com これまでやってきたこと 11 クライアントからneonサービスを利用するため のAPIGatewayを構築 GraphQLを採用しているため、クライアント側 で柔軟にデータを取得 API Gateway
構築
© DMM.com 12 認可基盤の作成 サービス間の認可のために SpiceDBという OSSを利用して認可基盤を構築した SpiceDBは、GoogleがZanzibarと呼ばれる認可システムを発表して以来、 その設計思想を元に開発されたもので 今回の要件として柔軟な権限設定を行いたかったため、
zanzibarベース(ReBAC)のシステムを選択した (Auth0FGAや ory/keto も検討候補に上がっていた ) これまでやってきたこと
© DMM.com 現在取り組んでいること 13 開発している neon 基盤を用いて サロンオーナー/DMM管理者が利用する管理画面をフロントエンド /バックエンド含めて刷新している 既存管理画面
新管理画面(仮)
© DMM.com まとめ 14 ・システム的負債を解消するためにマイクロサービス +モジュラモノリスで開発を行なっている ・組織の状況に合わせたアーキテクチャを設計することが大切 ・5年10年後も通用するアーキテクチャにしていきたい
© DMM ご静聴ありがとうございました 15