Slide 1

Slide 1 text

歪なモノリシックアプリケーションを マイクロサービスパターンで未来につなげる話 エンターテイメント本部 オンラインサロン事業部 萩原圭市

Slide 2

Slide 2 text

- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ

Slide 3

Slide 3 text

- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ

Slide 4

Slide 4 text

マイクロサービスとは?

Slide 5

Slide 5 text

アプリケーションを構築するため のアーキテクチャアプローチの一 つ。 サービスを疎結合に構造化・各 サービスは個別のタスクを担当し APIを介して他のサービスと通信 することで、変化するビジネス ニーズに対応しやすくなる。

Slide 6

Slide 6 text

モノリシック(モノリス)とは?

Slide 7

Slide 7 text

複数のコンポーネントが集まっ てできた単一の大きなサービ ス

Slide 8

Slide 8 text

モノリスではいけないのか?

Slide 9

Slide 9 text

最初は小さく綺麗に作っていたアーキ テクチャも変化するビジネスニーズに スピード感を持って対応していくうちに ・・・

Slide 10

Slide 10 text

いつの間にか歪なアプリケーション構 造に・・・

Slide 11

Slide 11 text

従来のモノリシックなアプローチはアプ リケーションが大きく複雑になるにつれ てアプリケーションの品質やリードタイ ムが悪化し問題が大きくなる。

Slide 12

Slide 12 text

マイクロサービスにすることで次のよう な恩恵を受けられる

Slide 13

Slide 13 text

- リリースサイクルを早くできる - サービス毎に適切な技術選定が できる - 障害の影響範囲を小さくできる - コードの結合度を小さくできる etc...

Slide 14

Slide 14 text

もちろんマイクロサービスにもデメリットはある

Slide 15

Slide 15 text

- 分散システムであることの難しさ - サービス分割はどのようにやる? - サービス間のテストはどうする? - 組織開発の難しさ - ビルドが大変 - サービス毎にサーバーや CICDを用意しなければならない etc...

Slide 16

Slide 16 text

考えることはいっぱい でもサービスの規模感が大きければ大きいほど費用対効果は高い

Slide 17

Slide 17 text

- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ

Slide 18

Slide 18 text

サロンのシステムは数年に及ぶ改修・改善を重ね、さらに 2018年から専用コミュニティサービス、2019年にはライブ 配信機能をリリースしたことによりユーザーに数多くの価 値提供を実現してきた一方で・・・

Slide 19

Slide 19 text

歪なモノリシックアプリケーション 構造に進化してきた

Slide 20

Slide 20 text

この歪な構造によって - 開発チームのリードタイムが年々悪化し - 仕様把握も困難になりつつあり - 新規の開発も手が出しにくくなる

Slide 21

Slide 21 text

ビジネスが前に進んでもこのままではシステムが足を引っ 張ってしまう・・・

Slide 22

Slide 22 text

よって、このタイミングでサブドメインごとにシステムの責務 を明確にするマイクロサービスパターンを導入することで3 年後・5年後の未来につなげる

Slide 23

Slide 23 text

- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ

Slide 24

Slide 24 text

現時点での最終的に目指す姿

Slide 25

Slide 25 text

マイクロサービスに向けて目指すチームの姿勢

Slide 26

Slide 26 text

- 組織・チームでのコラボレーションの重要性 - チームメンバーが自立し、考え続ける - 最初からカンペキを求めない、わからないうちはむや みに境界を分割しない(マイクロサービスの理想を追 求しすぎない)

Slide 27

Slide 27 text

チームの構成 - エンジニアリングマネージャー 1名 - プロダクトオーナー 1名 - iOSエンジニア 3名 - フロントエンドエンジニア 2名 - バックエンドエンジニア 3名 一応の職域の区切りはあるが各々は職域 を気にせずチームとしてスプリントの達成を 目指しています

Slide 28

Slide 28 text

実現していくための取り組み

Slide 29

Slide 29 text

- 輪読会・5%ルールの実施(チームの技術力の底上げ) - 徹底したスクラム開発(チームワーク) - 社内のマイクロサービス化事例や事業部開発支援の活用(DMMならではの膨大な 資産活用)

Slide 30

Slide 30 text

- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ

Slide 31

Slide 31 text

まずは直近の開発予定の機能 からマイクロサービスにする(現 在Gatewayサービス、Authサー ビスなどを作っています)

Slide 32

Slide 32 text

そしてマイクロサービス化に備えてアプリ側も ReactNativeのアプリをモダンSwiftに置き換 えてます (このあとの発表で話します)

Slide 33

Slide 33 text

- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ

Slide 34

Slide 34 text

- これまでのサロンはユーザーファーストとスピード感を 大事にしてきたことで大きく成長してきた - 一方でこれから3年、5年先の大きな成長のためには システムの見直しや作り直しが必要なフェーズ - やらなきゃいけないことがいっぱい - それだけにやりがいも大きい

Slide 35

Slide 35 text

以上