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
640
マイクロサービス・モジュラモノリス化によるシステム負債の解消プロジェクト
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
3k
Other Decks in Technology
See All in Technology
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
8
3.8k
偏光画像処理ライブラリを作った話
elerac
1
180
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
280
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
190
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
480
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
310
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
750
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
630
EDRの検知の仕組みと検知回避について
chayakonanaika
12
5k
1行のコードから社会課題の解決へ: EMの探究、事業・技術・組織を紡ぐ実践知 / EM Conf 2025
9ma3r
12
4k
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
720
JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏/jawsfesta2024-bus-gps-serverless
ma2shita
3
250
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Docker and Python
trallard
44
3.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Building an army of robots
kneath
303
45k
How to Ace a Technical Interview
jacobian
276
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
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