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
Ryo Tsukahara
June 08, 2023
Technology
0
700
マイクロサービス・モジュラモノリス化によるシステム負債の解消プロジェクト
https://dmm.connpass.com/event/284374/
「価値提供スピードを上げるための技術的負債への向き合い方」の発表資料です。
Ryo Tsukahara
June 08, 2023
Tweet
Share
More Decks by Ryo Tsukahara
See All by Ryo Tsukahara
モジュラモノリスのモジュール間通信の話
trrrrrys
4
3.3k
Other Decks in Technology
See All in Technology
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
3
140
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
120
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
230
Findy Freelance 利用シーン別AI活用例
ness
0
290
帳票構造化タスクにおけるLLMファインチューニングの性能評価
yosukeyoshida
1
230
データエンジニアがクラシルでやりたいことの現在地
gappy50
3
850
2025-07-31: GitHub Copilot Agent mode at Vibe Coding Cafe (15min)
chomado
2
370
【2025 Japan AWS Jr. Champions Ignition】点から線、線から面へ〜僕たちが起こすコラボレーション・ムーブメント〜
amixedcolor
1
120
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
350
【新卒研修資料】数理最適化 / Mathematical Optimization
brainpadpr
25
11k
마라톤 끝의 단거리 스퍼트: 2025년의 AI
inureyes
PRO
1
680
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
0
290
Featured
See All Featured
Navigating Team Friction
lara
188
15k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
790
Making Projects Easy
brettharned
117
6.3k
Site-Speed That Sticks
csswizardry
10
750
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
A better future with KSS
kneath
238
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Writing Fast Ruby
sferik
628
62k
Building an army of robots
kneath
306
45k
Gamification - CAS2011
davidbonilla
81
5.4k
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
Become a Pro
speakerdeck
PRO
29
5.5k
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