Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
使いたいから使うんじゃなく「必然」として使うCQRS+ES
Search
おだかとしゆき
December 22, 2024
1
590
使いたいから使うんじゃなく「必然」として使うCQRS+ES
2024.12.21 CQRS+ESカンファレンス
おだかとしゆき
December 22, 2024
Tweet
Share
More Decks by おだかとしゆき
See All by おだかとしゆき
元バーテン・出遅れSESが気づいたらシニアアーキテクトと呼ばれるようになったワケ
jgeem
0
64
Featured
See All Featured
Docker and Python
trallard
43
3.2k
Making the Leap to Tech Lead
cromwellryan
133
9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
How GitHub (no longer) Works
holman
312
140k
Documentation Writing (for coders)
carmenintech
67
4.5k
Facilitating Awesome Meetings
lara
50
6.2k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
350
Git: the NoSQL Database
bkeepers
PRO
427
64k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Transcript
使いたいから使うんじゃなく 「必然」として使う CQRS+ES おだかとしゆき as JGEEM(@EM4326168385309) 2024.12.21 CQRS+ESカンファレンス
自己紹介 おだかとしゆき 株式会社MonotaRO シニアアーキテクト as JGEEM(@EM4326168385309) 事業(J)会社(G)の元(Ex)EM / 52才 現職はアーキテクチャと格闘
定年までできることしたいことを探る日々 / 定年後もキャリアは続く AIIT 科目等履修生 貢献てなんだろう 2
システムと組織 BtoB を対象に、 自ら間接資材の在庫を持ち、 自らオンラインで売るEC企業 コールセンター、商 品 採 用、物 流、
マーケティング、データサイエンス、 IT など多くの業務とシステムを 自社開発、自社運用もしている フルスタック EC カンパニー 事業紹介 3
システムと組織 事業紹介 商品点数 2,217万点 ユーザー数 約910万件 売上(連結) 2542億円 グローバルに サービス展開
※前年比 +12.5% 4
わたしたちについて 5 事業成長サイクル 取扱商品 点数拡大 顧客数拡大 在庫点数 拡大 売上・利益 拡大
スケールアップ=利便性アップ •新規顧客獲得増 •ロングテール商品の購入頻度向上 •商品の在庫化が進むことによって 納期短縮、利便性向上 •プライベートブランド化も 推進し利益率向上 •検索ワード数拡大 •ワンストップショッピングの幅拡大 (取扱商品点数2,217万点) •周辺商品の取扱拡大
わたしたちについて 6 売上・登録口座数推移 売上は順調に増加 その裏でサービス、機 能、顧客の増加により 業務の複雑性も増加 売上2,000億円 突破 2009.12
東証一部変更 2006.12 マザーズ上場 (計画値) (百万円) (千口座)
おしながき モノタロウの基幹システムに CQRS + ES を導入したい • モノタロウの基幹システムって • モダナイズだ!!!
• これは大勝利か? • 本当の戦いはこれから 7
モノタロウの 基幹システムって
がっつりスクラッチしてるんです ERP使え?いやいや。 だってEC事業者にとって 基幹業務は優位性に 直結すると思ってるので 9 出典:Gartner Magic Quadrant for
Cloud ERP for Product-Centric Enterprises 2022
はじめは小さく、 ビジネスの成長と共にシステムも成長 10
そして負債は増し、いつかしか ... 11 つくねです
詳しくはこちら • ビジネスの構造をアーキテクチャに落とし込み ソフトウェアに可変性を注入する - Speaker Deck 12
モダナイズだ !!!
モダナイズ is 何? 出典:モダナイゼーションとは : 分かりやすく説明 | IBM ソリューション ブログ
14
モダナイズとは 「マイクロサービス化」(伝われ) 伝えたいことは山ほどあるが 多様なエンジニアに伝わるよう 最大公約数的な目標 としての 「マイクロサービス化」 15
16 専任PoC体制を結成 → やるぞ !!!
これは大勝利か?
対象は「在庫状況管理」業務 18 この人は在庫計画などの戦略的業務 「在庫状況管理」は独立していなかったんです この辺に 在庫?
「在庫」は 入荷と出荷をつなぎ・証憑としても 19
界隈の各種要求を踏まえると … • 受注したら… • 注文引当したら... • 出荷指示したら... • 出荷したら...
• 発注指示したら... • 入荷したら... 20 他の領域で業務イベントが 起きたら在庫状況を更新す る。 誰が・なぜ更新したか追跡可 能にする。 参照要求はちょう多様。 更新モデルに影響させたくな い。
つまりそれは DDD + OOP + CQRS + ES ってこと 21
ひとり多いな?
こいつ、動くぞ! 22
よろしい、 ならば 展開だ(大勝利か?) 23
本当の戦いは これから
そのアプリ、 どうやって共用 DBを置き換えるの? 25 CDCから変換しているイベントを 既存アプリから 発行してもらわないと
ネ申のごとき全知のテーブルから イベントを切り分けていく 26 入荷 出荷 引当 棚卸 検品 振替 返品
CDCはできた。さぁ移行だ! とはいかない事情 27 マインドセット ケイパビリティ 組織・カルチャー を整える さらに現行の整理も 用意できたのは 基本的な技術
(システム )要素の検証だけ 蓋然性のある方針と機会を示す 社内の多くのエンジニア
さらに 共用DBが故の利便性が行く手を阻む 28 在庫 いい感じ?に密結合した状態から 突然出ていくと言われても、、 は? え? マ?
29 棚卸誤差の時系列調査 在庫数遷移トレンド 多様なリードモデル ・・・ 共用DBのクエリ解析 テーブルオーナーを再確認 境界に沿って DBを分割 ・・・
新しいアーキで 価値を生みつつ 現行の整理・分割も 進めなければ
まとめ
まとめ • 現行システムは偉大な競争優位性を実現しつづけている • CQRS+ESがより適したパターンである場面は間違いなくある • 真のハードルは移行にある • 移行には 技術・組織
(文化)・方針と機会・モチベ が必須 • だからこそ新しい技術・方式の導入には強い必然性 が不可欠 つまり我々がすべきことは ... 31
がんばろうぜ! 32
33 出典:https://aws.amazon.com/jp/blogs/news/how-to-create-a-modern-cpg-data-architecture-with-data-mesh/ つくねです 我々が夢見る先は 理想郷 (データメッシュ )か? 分散泥団子か?
We are hiring! 34 モノタロウ エンジニア採用情報
ありがとうございました 35