Slide 1

Slide 1 text

使いたいから使うんじゃなく 「必然」として使う CQRS+ES おだかとしゆき as JGEEM(@EM4326168385309) 2024.12.21 CQRS+ESカンファレンス

Slide 2

Slide 2 text

自己紹介 おだかとしゆき 株式会社MonotaRO シニアアーキテクト as JGEEM(@EM4326168385309) 事業(J)会社(G)の元(Ex)EM / 52才 現職はアーキテクチャと格闘 定年までできることしたいことを探る日々 / 定年後もキャリアは続く AIIT 科目等履修生 貢献てなんだろう 2

Slide 3

Slide 3 text

システムと組織 BtoB を対象に、 自ら間接資材の在庫を持ち、 自らオンラインで売るEC企業 コールセンター、商 品 採 用、物 流、 マーケティング、データサイエンス、 IT など多くの業務とシステムを 自社開発、自社運用もしている フルスタック EC カンパニー 事業紹介 3

Slide 4

Slide 4 text

システムと組織 事業紹介 商品点数 2,217万点 ユーザー数 約910万件 売上(連結) 2542億円 グローバルに サービス展開  ※前年比 +12.5% 4

Slide 5

Slide 5 text

わたしたちについて 5 事業成長サイクル 取扱商品 点数拡大 顧客数拡大 在庫点数 拡大 売上・利益 拡大 スケールアップ=利便性アップ •新規顧客獲得増 •ロングテール商品の購入頻度向上 •商品の在庫化が進むことによって 納期短縮、利便性向上 •プライベートブランド化も 推進し利益率向上 •検索ワード数拡大 •ワンストップショッピングの幅拡大 (取扱商品点数2,217万点) •周辺商品の取扱拡大

Slide 6

Slide 6 text

わたしたちについて 6 売上・登録口座数推移 売上は順調に増加 その裏でサービス、機 能、顧客の増加により 業務の複雑性も増加 売上2,000億円 突破 2009.12 東証一部変更 2006.12 マザーズ上場 (計画値) (百万円) (千口座)

Slide 7

Slide 7 text

おしながき モノタロウの基幹システムに CQRS + ES を導入したい ● モノタロウの基幹システムって ● モダナイズだ!!! ● これは大勝利か? ● 本当の戦いはこれから 7

Slide 8

Slide 8 text

モノタロウの 基幹システムって

Slide 9

Slide 9 text

がっつりスクラッチしてるんです ERP使え?いやいや。 だってEC事業者にとって 基幹業務は優位性に 直結すると思ってるので 9 出典:Gartner Magic Quadrant for Cloud ERP for Product-Centric Enterprises 2022

Slide 10

Slide 10 text

はじめは小さく、 ビジネスの成長と共にシステムも成長 10

Slide 11

Slide 11 text

そして負債は増し、いつかしか ... 11 つくねです

Slide 12

Slide 12 text

詳しくはこちら ● ビジネスの構造をアーキテクチャに落とし込み ソフトウェアに可変性を注入する - Speaker Deck 12

Slide 13

Slide 13 text

モダナイズだ !!!

Slide 14

Slide 14 text

モダナイズ is 何? 出典:モダナイゼーションとは : 分かりやすく説明 | IBM ソリューション ブログ 14

Slide 15

Slide 15 text

モダナイズとは 「マイクロサービス化」(伝われ) 伝えたいことは山ほどあるが 多様なエンジニアに伝わるよう 最大公約数的な目標 としての 「マイクロサービス化」 15

Slide 16

Slide 16 text

16 専任PoC体制を結成 → やるぞ !!!

Slide 17

Slide 17 text

これは大勝利か?

Slide 18

Slide 18 text

対象は「在庫状況管理」業務 18 この人は在庫計画などの戦略的業務 「在庫状況管理」は独立していなかったんです この辺に 在庫?

Slide 19

Slide 19 text

「在庫」は 入荷と出荷をつなぎ・証憑としても 19

Slide 20

Slide 20 text

界隈の各種要求を踏まえると … ● 受注したら… ● 注文引当したら... ● 出荷指示したら... ● 出荷したら... ● 発注指示したら... ● 入荷したら... 20 他の領域で業務イベントが 起きたら在庫状況を更新す る。 誰が・なぜ更新したか追跡可 能にする。 参照要求はちょう多様。 更新モデルに影響させたくな い。

Slide 21

Slide 21 text

つまりそれは DDD + OOP + CQRS + ES ってこと 21 ひとり多いな?

Slide 22

Slide 22 text

こいつ、動くぞ! 22

Slide 23

Slide 23 text

よろしい、 ならば 展開だ(大勝利か?) 23

Slide 24

Slide 24 text

本当の戦いは これから

Slide 25

Slide 25 text

そのアプリ、 どうやって共用 DBを置き換えるの? 25 CDCから変換しているイベントを 既存アプリから 発行してもらわないと

Slide 26

Slide 26 text

ネ申のごとき全知のテーブルから イベントを切り分けていく 26 入荷 出荷 引当 棚卸 検品 振替 返品

Slide 27

Slide 27 text

CDCはできた。さぁ移行だ! とはいかない事情 27 マインドセット ケイパビリティ 組織・カルチャー を整える さらに現行の整理も 用意できたのは 基本的な技術 (システム )要素の検証だけ 蓋然性のある方針と機会を示す 社内の多くのエンジニア

Slide 28

Slide 28 text

さらに 共用DBが故の利便性が行く手を阻む 28 在庫 いい感じ?に密結合した状態から 突然出ていくと言われても、、 は? え? マ?

Slide 29

Slide 29 text

29 棚卸誤差の時系列調査 在庫数遷移トレンド 多様なリードモデル ・・・ 共用DBのクエリ解析 テーブルオーナーを再確認 境界に沿って DBを分割 ・・・ 新しいアーキで 価値を生みつつ 現行の整理・分割も 進めなければ

Slide 30

Slide 30 text

まとめ

Slide 31

Slide 31 text

まとめ ● 現行システムは偉大な競争優位性を実現しつづけている ● CQRS+ESがより適したパターンである場面は間違いなくある ● 真のハードルは移行にある ● 移行には 技術・組織 (文化)・方針と機会・モチベ が必須 ● だからこそ新しい技術・方式の導入には強い必然性 が不可欠 つまり我々がすべきことは ... 31

Slide 32

Slide 32 text

がんばろうぜ! 32

Slide 33

Slide 33 text

33 出典:https://aws.amazon.com/jp/blogs/news/how-to-create-a-modern-cpg-data-architecture-with-data-mesh/ つくねです 我々が夢見る先は 理想郷 (データメッシュ )か? 分散泥団子か?

Slide 34

Slide 34 text

We are hiring! 34 モノタロウ エンジニア採用情報

Slide 35

Slide 35 text

ありがとうございました 35