10年後のBASEとリアーキテクチャ - PHP Conference Japan 2022
- 1. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
PHP Conference Japan 2022 スポンサーLT
@tadamatu (タダマツ)
10年後のBASEとリアーキテクチャ
- 2. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
自己紹介
BASE株式会社 2021年12月入社
2
tadamatu(松田 伊司/Matsuda Tadashi)
【所属】Product Dev / Platform Group (Group Manager)
新設したばかりのGroupで、「オーナーやカスタマーの良い体験、エンジニ
アの開発体験をプラットフォームで守る」というビジョンのもと活動中
【生きがい】プログラムで人を今よりもちょっとだけ幸せにする
今日はLTなのでプログラムの話は一切しません!!
- 3. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
今日お話しすること
- 4. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
今日お話しすること
1
2
3
リアーキテクチャ開始前にしたこと
取り組み中のリアーキテクチャ
10年後のBASE
4
- 5. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
リアーキテクチャ開始前に
実施したこと
(課題確認や準備)
- 6. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
まずはグループワーク
そもそも、我々はなぜ
リアーキテクチャしようと
しているのだろう?
6
🤔
- 7. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
まずはグループワーク
7
有志を募りグループワーク!
【お題】 リアーキテクチャによって、
みんなが期待することや
モチベーションは何?
整理して分析!
出てきた「意見・問題」から
「課題」を抽出し、
「解決手段」として整理
- 8. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
まずはグループワーク
8
たとえば、こんな意見・問題が出ました
古いテクノロジー
から離脱したい
コード全体像が把
握がしづらい
影響範囲が分かり
づらい
好きなときにデプ
ロイしたい
開発組織のスケール
に対して仕組みがお
いついていないよう
に感じる
コスト削減したい
採用面談で古いテク
ノロジーの話を言及
されるとつらい
人数増加によって[ア
ウトプット量/人]の
減少が気になる
生のEC2触りたく
ない
ほんの一部だけ紹介
- 9. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
まずはグループワーク
9
結果、リアーキテクチャだけでは全てを解決できない
ということがわかりスコープを再認識
以下の炙り出しにも成功!
(思いもよらぬ副産物)
● 認識できていなかった課題
● エンジニアがやりたいと感
じていること
※残りは課題として認識し、別で解決する方針とした
- 10. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
他にも実施したこと(紹介のみ)
イベントストーミング
10
DBスキーマからの分析
ドメイン(境界づけられたコンテキスト)
を見つけ出すことを期待して実施
900近くある全テーブルをドメインに当てはめてみる
想定ドメインが概ね正確か、想定漏れはな
いか、などの確認目的で実施
(一部抜粋)
(一部抜粋)
- 11. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
取り組み中の
リアーキテクチャ
- 12. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
結局どのアーキテクチャでいく?
12
数ヶ月の時間を費やした後に、
現在のBASEの状況
● プロダクトの性質
● 現在のアーキテクチャ・規模
● 開発組織
を加味し、複数のアーキテクチャで
シミュレーションをした結果...
左上が<現在>、右上が<採用アーキテクチャ>
下が<ボツ案>
(詳細は載せれないため雰囲気だけ🙇)
- 13. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
結局どのアーキテクチャでいく?
『モジュラモノリス』を採用!
13
● 開発スケーラビリティを確保
○ 様々なサービスがあるがECコア部分はワンプロダクトである
モジュールという単位に分け、開発組織との関係性を適切な状態にしたい
● マイクロサービスと比べて技術的コストも適当
○ 関数で呼び出せるので修正が容易、影響範囲も見えやすい
○ マイクロサービスにすると、『DB分離』、『分散トランザクションの組み込み』、
『ネットワーク通信によるパフォーマンス問題』や『エラーハンドリングの難しさ』
など、様々な課題をクリアしなければならない
○ 現段階でマイクロサービス採用すると「分散モノリス」を産みかねない
● 最近は採用事例もよく目にするように https://fortee.jp/phperkaigi-2022/proposal/95bc
3631-7683-4201-9f82-d7e7feeb7bab
もっと具体的な内
容を知りたい方は
こちら
��🏻♂
- 14. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
作業中の内容
● モジュラモノリス認証基盤の調整
● ECコア機能のモジュラモノリス化(順次切替中)
● FrontendとBackendの分離(順次分離中)
14
リアーキテクチャ文脈で目下作業中の内容
- 15. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
10年後のBASE
- 16. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
10年後のBASE
16
10年後BASEがどんな事業展開をしているか...
そんなことは
誰にも分かりません!!!
- 17. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
10年後のBASE
17
現時点の判断として「モジュラモノリス」を採用しましたが、
ドメインの分離が進めば、比較的柔軟な対応ができることを
期待しています
リアーキテクチャすることで、不確実性の
高い未来に備え、柔軟に進化し続け、考え
続けていく!!
「そもそも、我々はなぜ リアーキテクチャしようとしているのだろう?🤔」のアンサー
- 18. © 2012-2019 BASE, Inc.
© 2012-2022 BASE, Inc.
#phpcon2022 #track1
@tadamatu
https://herp.careers/v1/base
We are hiring!
ご清聴ありがとうございました!