Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マイクロサービス・モジュラモノリス化によるシステム負債の解消プロジェクト

 マイクロサービス・モジュラモノリス化によるシステム負債の解消プロジェクト

https://dmm.connpass.com/event/284374/
「価値提供スピードを上げるための技術的負債への向き合い方」の発表資料です。

Ryo Tsukahara

June 08, 2023
Tweet

More Decks by Ryo Tsukahara

Other Decks in Technology

Transcript

  1. © DMM.com
    マイクロサービス・モジュラモノリス化による
    システム負債の解消プロジェクト
    オンラインサロン事業部 塚原 諒

    View Slide

  2. © DMM.com
    自己紹介
    2
    塚原 諒
    2022/04中途でDMM.com入社
    所属: オンラインサロン事業部アーキテクトチーム
    Twitter: @trrrrrys
    GitHub: trrrrrys

    View Slide

  3. © DMM.com
    話すこと
    3
    ● 現状のシステム的課題
    ● マイクロサービス・モジュラモノリス化プロジェクトについての紹介
    ● これまでやってきたこと
    ● 現在取り組んでいること

    View Slide

  4. © DMM.com
    現状のシステム的課題
    4

    View Slide

  5. © DMM.com
    現状のシステム的課題
    5
    データベースが分かれていて、アカウント情
    報が各々のDBに存在するため
    都度データを同期する必要があったり片方
    にあって片方にデータがない等フローが複
    雑になっている
    その影響が様々な箇所に及ぶため、リード
    タイムが増大し、機能開発の速度を大幅に
    低下させている

    View Slide

  6. © DMM.com
    マイクロサービス・モジュラモノリス化プロジェクトについての紹介
    6

    View Slide

  7. © DMM.com
    「neon」プロジェクト
    7

    View Slide

  8. © DMM.com
    「neon」プロジェクト
    8
    適切な単位でサービスを分割し疎結合化することで、
    スケーラビリティの向上やリードタイムの短縮を図る
    完全なマイクロサービスではなく、
    基本的には主要なサービスをモジュラモノリスとして
    扱っていて、一部をマイクロサービスとする
    クライアントからはBFFを介して利用する

    View Slide

  9. © DMM.com
    「neon」プロジェクト
    9

    View Slide

  10. © DMM.com
    これまでやってきたこと
    10
    各システムに分散されているデータを新 DBに
    統一するために
    awsのMSK(Managed Streaming for Apache
    Kafka) の Debezium Connector を利用して、
    管理画面・専用のコミュニティサービス DBの
    変更を検知し Lambdaで加工して新しいDBに
    データを同期
    管理画面/専用コミュニティのデータを新DBへ同期

    View Slide

  11. © DMM.com
    これまでやってきたこと
    11
    クライアントからneonサービスを利用するため
    のAPIGatewayを構築
    GraphQLを採用しているため、クライアント側
    で柔軟にデータを取得
    API Gateway 構築

    View Slide

  12. © DMM.com 12
    認可基盤の作成
    サービス間の認可のために SpiceDBという OSSを利用して認可基盤を構築した
    SpiceDBは、GoogleがZanzibarと呼ばれる認可システムを発表して以来、
    その設計思想を元に開発されたもので
    今回の要件として柔軟な権限設定を行いたかったため、
    zanzibarベース(ReBAC)のシステムを選択した
    (Auth0FGAや ory/keto も検討候補に上がっていた )
    これまでやってきたこと

    View Slide

  13. © DMM.com
    現在取り組んでいること
    13
    開発している neon 基盤を用いて
    サロンオーナー/DMM管理者が利用する管理画面をフロントエンド /バックエンド含めて刷新している
    既存管理画面 新管理画面(仮)

    View Slide

  14. © DMM.com
    まとめ
    14
    ・システム的負債を解消するためにマイクロサービス +モジュラモノリスで開発を行なっている
    ・組織の状況に合わせたアーキテクチャを設計することが大切
    ・5年10年後も通用するアーキテクチャにしていきたい

    View Slide

  15. © DMM
    ご静聴ありがとうございました
    15

    View Slide