モノリシックRailsアプリケーションをモジュラモノリスへ移行しているnoteの事例

モノリシックRailsアプリケーションをモジュラモノリスへ移行しているnoteの事例
Hiroya Shimamoto • online • Japanese • Talk

Date: October 22, 2022
Published: October 30, 2022
Announced: unknown

https://kaigionrails.org/2022/talks/shshimamo/

私たちのサービス(note)のバックエンドは、Model 数が 800 以上と比較的大規模なモノリシックRailsアプリケーションで構成されています。
また関わるエンジニアの人数も40名程度のため、開発効率の低下、バグの増加といった課題が顕在化してきました。

このような課題に対しマイクロサービスアーキテクチャを検討しましたが、アーキテクチャ検討の前にまずはドメイン分割を進める必要があると考えました。
そこで Packwerk という Shopify が開発した gem を導入することにしました。

Packwerk は、モジュラーモノリス化を支援してくれる gem です。
設定したディレクトリをモジュールとみなし、モジュール間の依存関係を静的解析で検出してくれます。
モジュール化は基本的にはファイル移動だけなので、ドメイン分割を段階的に進めることができ、やり直しも容易にできます。

これらの特徴は、「機能開発と並行して進めたい」「試行錯誤しながら段階的に進めたい」という私たちの要望を満たしてくれるものでした。

今回の発表では、Packwerk の基本機能や導入方法のご紹介、実際に導入して見え始めた効果や、今後の課題などをお話しできればと思っています。

資料 https://speakerdeck.com/shshimamo/monorisitukurailsapurikesiyonwo-moziyuramonorisuheyi-xing-siteiru-notenoshi-li

発表者
Hiroya Shimamoto
GitHub https://github.com/shshimamo
Twitter https://twitter.com/shshimamo

Kaigi on Railsは、初学者から上級者までが楽しめるWeb系の技術カンファレンスです。
https://kaigionrails.org/

Kaigi on Rails 2022

Explore all talks recorded at Kaigi on Rails 2022
+18