Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
マイクロサービス・モジュラモノリス化によるシステム負債の解消プロジェクト
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ryo Tsukahara
June 08, 2023
Technology
830
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.8k
Other Decks in Technology
See All in Technology
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
290
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
2
1.4k
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
200
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.8k
令和の今、あらためて IAM を考える。アクセスキーを「無くせない現実」との向き合い方
kazzpapa3
0
530
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
160
SSFの現在地 ― CAEP/RISCからAI Identityへ
oidfj
0
280
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
6
1.3k
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
460
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
200
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
220
[JAWS Festa 2026]一番いい仕事は、請求書に現れない / jawsfesta2026
sh_fk2
2
410
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
930
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
Faster Mobile Websites
deanohume
310
32k
The Cost Of JavaScript in 2023
addyosmani
56
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.7k
Balancing Empowerment & Direction
lara
6
1.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Tell your own story through comics
letsgokoyo
1
1.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.6k
Designing for humans not robots
tammielis
254
26k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.9k
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