Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
歪なモノリシックアプリケーションをマイクロサービスパターンで未来につなげる話
hagyyyy
February 24, 2021
Technology
1
220
歪なモノリシックアプリケーションをマイクロサービスパターンで未来につなげる話
https://dmm.connpass.com/event/203927/
hagyyyy
February 24, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
noriyukitakei
0
1.1k
jozono
6
1.1k
finengine
0
140
yuhta28
0
130
sat
1
240
hmatsu47
1
160
comucal
PRO
0
260
chipstar_light
0
460
aizurage
0
110
ocise
0
110
sei88888
5
380
rigolon
3
320
Featured
See All Featured
cherdarchuk
71
260k
rocio
155
11k
deanohume
294
28k
samanthasiow
57
6.4k
philhawksworth
190
17k
reverentgeek
27
2.1k
aarron
258
36k
robhawkes
52
2.9k
reverentgeek
167
7.3k
jmmastey
10
690
chrislema
231
16k
mongodb
23
3.9k
Transcript
歪なモノリシックアプリケーションを マイクロサービスパターンで未来につなげる話 エンターテイメント本部 オンラインサロン事業部 萩原圭市
- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ
- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ
マイクロサービスとは?
アプリケーションを構築するため のアーキテクチャアプローチの一 つ。 サービスを疎結合に構造化・各 サービスは個別のタスクを担当し APIを介して他のサービスと通信 することで、変化するビジネス ニーズに対応しやすくなる。
モノリシック(モノリス)とは?
複数のコンポーネントが集まっ てできた単一の大きなサービ ス
モノリスではいけないのか?
最初は小さく綺麗に作っていたアーキ テクチャも変化するビジネスニーズに スピード感を持って対応していくうちに ・・・
いつの間にか歪なアプリケーション構 造に・・・
従来のモノリシックなアプローチはアプ リケーションが大きく複雑になるにつれ てアプリケーションの品質やリードタイ ムが悪化し問題が大きくなる。
マイクロサービスにすることで次のよう な恩恵を受けられる
- リリースサイクルを早くできる - サービス毎に適切な技術選定が できる - 障害の影響範囲を小さくできる - コードの結合度を小さくできる etc...
もちろんマイクロサービスにもデメリットはある
- 分散システムであることの難しさ - サービス分割はどのようにやる? - サービス間のテストはどうする? - 組織開発の難しさ - ビルドが大変
- サービス毎にサーバーや CICDを用意しなければならない etc...
考えることはいっぱい でもサービスの規模感が大きければ大きいほど費用対効果は高い
- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ
サロンのシステムは数年に及ぶ改修・改善を重ね、さらに 2018年から専用コミュニティサービス、2019年にはライブ 配信機能をリリースしたことによりユーザーに数多くの価 値提供を実現してきた一方で・・・
歪なモノリシックアプリケーション 構造に進化してきた
この歪な構造によって - 開発チームのリードタイムが年々悪化し - 仕様把握も困難になりつつあり - 新規の開発も手が出しにくくなる
ビジネスが前に進んでもこのままではシステムが足を引っ 張ってしまう・・・
よって、このタイミングでサブドメインごとにシステムの責務 を明確にするマイクロサービスパターンを導入することで3 年後・5年後の未来につなげる
- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ
現時点での最終的に目指す姿
マイクロサービスに向けて目指すチームの姿勢
- 組織・チームでのコラボレーションの重要性 - チームメンバーが自立し、考え続ける - 最初からカンペキを求めない、わからないうちはむや みに境界を分割しない(マイクロサービスの理想を追 求しすぎない)
チームの構成 - エンジニアリングマネージャー 1名 - プロダクトオーナー 1名 - iOSエンジニア 3名
- フロントエンドエンジニア 2名 - バックエンドエンジニア 3名 一応の職域の区切りはあるが各々は職域 を気にせずチームとしてスプリントの達成を 目指しています
実現していくための取り組み
- 輪読会・5%ルールの実施(チームの技術力の底上げ) - 徹底したスクラム開発(チームワーク) - 社内のマイクロサービス化事例や事業部開発支援の活用(DMMならではの膨大な 資産活用)
- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ
まずは直近の開発予定の機能 からマイクロサービスにする(現 在Gatewayサービス、Authサー ビスなどを作っています)
そしてマイクロサービス化に備えてアプリ側も ReactNativeのアプリをモダンSwiftに置き換 えてます (このあとの発表で話します)
- マイクロサービスについて - オンラインサロンが抱えている課題 - オンラインサロンが目指したい姿 - 今やっていること - まとめ
- これまでのサロンはユーザーファーストとスピード感を 大事にしてきたことで大きく成長してきた - 一方でこれから3年、5年先の大きな成長のためには システムの見直しや作り直しが必要なフェーズ - やらなきゃいけないことがいっぱい - それだけにやりがいも大きい
以上