歪なモノリシックアプリケーションをマイクロサービスパターンで未来につなげる話
by
hagyyyy
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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
以上