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

歪なモノリシックアプリケーションをマイクロサービスパターンで未来につなげる話

991fe792d878a5ae41bdc4d0c9ee18cb?s=47 hagyyyy
February 24, 2021

 歪なモノリシックアプリケーションをマイクロサービスパターンで未来につなげる話

991fe792d878a5ae41bdc4d0c9ee18cb?s=128

hagyyyy

February 24, 2021
Tweet

Transcript

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

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

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

  4. マイクロサービスとは?

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

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

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

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

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

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

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

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

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

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

  15. - 分散システムであることの難しさ - サービス分割はどのようにやる? - サービス間のテストはどうする? - 組織開発の難しさ - ビルドが大変

    - サービス毎にサーバーや CICDを用意しなければならない etc...
  16. 考えることはいっぱい でもサービスの規模感が大きければ大きいほど費用対効果は高い

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

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

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

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

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

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

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

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

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

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

  27. チームの構成 - エンジニアリングマネージャー 1名 - プロダクトオーナー 1名 - iOSエンジニア 3名

    - フロントエンドエンジニア 2名 - バックエンドエンジニア 3名 一応の職域の区切りはあるが各々は職域 を気にせずチームとしてスプリントの達成を 目指しています
  28. 実現していくための取り組み

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

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

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

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

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

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

  35. 以上