Slide 1

Slide 1 text

2024/11/26 アーキテクチャカンファレンス 2024 イオンCTOが語る イオングループ全体を支える クリティカルシステム解体新書 イオン株式会社 CTO イオンスマートテクノロジー株式会社 取締役 CTO 山﨑 賢 ( やまけん @yamaken_66 )

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

所属 • イオン株式会社 CTO • イオンスマートテクノロジー株式会社 取締役 CTO • 2023年4月より現職 職歴(主なもの) • Yahoo! JAPAN(現 LINEヤフー株式会社 エンジニア • リクルート 開発責任者 • アソビュー CTO/トラストバンク CTO その他 • 海浜幕張在住 会社まで徒歩10分 • 7歳の男児のパパ • ラーメンショッパー(最近、山岡家に浮気気味) 山﨑 賢 @yamaken_66 自己紹介

Slide 4

Slide 4 text

会社紹介

Slide 5

Slide 5 text

イオンDX

Slide 6

Slide 6 text

膨大なIDと購買データを集約したアプリ「iAEON」 イオンDX iAEONはイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを一つのアプリに統合しています。 提供開始から約3年で、iAEONは900万人以上の会員を抱え、独自のコード決済サービス「イオンペイ」は836万人 (23年5月時点)が利用しています。

Slide 7

Slide 7 text

イオンDX

Slide 8

Slide 8 text

全体像

Slide 9

Slide 9 text

全体像 POS 商品 ASP/B ( Aeon Smart Platform for Business ) ASP/D ( Aeon Smart Platform for Data ) データ活用群 会員 基盤 System of Engagement System of Record System of Management Organization / Team

Slide 10

Slide 10 text

全体像 POS 商品 ASP/B ( Aeon Smart Platform for Business ) ASP/D ( Aeon Smart Platform for Data ) データ活用群 会員 基盤 System of Engagement System of Record System of Management 1 2 3 Organization / Team 4

Slide 11

Slide 11 text

Aeon Smart Platform for Business Azureを選択する理由 アーキテクチャ / 全体構成 提供する機能 Re: Architecture Project iAEON Native App アーキテクチャ / 全体構成 信頼性向上プロジェクト Mini Program 支える仕組み NewRelicの活用 PagerDutyによる自動発報とNewRelicとのインテグレーション 実行する組織 組織設計に対するポリシー 向き合う組織構成

Slide 12

Slide 12 text

Aeon Smart Platform for Business. ( ASP/B )

Slide 13

Slide 13 text

Aeon Smart Platform for Business Azureを選択する理由 アーキテクチャ / 全体構成 提供する機能 Re: Architecture Project iAEON Native App アーキテクチャ / 全体構成 信頼性向上プロジェクト Mini Program 支える仕組み NewRelicの活用 PagerDutyによる自動発報とNewRelicとのインテグレーション 実行する組織 組織設計に対するポリシー 向き合う組織構成

Slide 14

Slide 14 text

Aeon Smart Platform for Business イオングループのクラウドインフラはAzureの活用率が圧倒的に高い Amazonは小売業界においてCompetitorであり、競合に資金を流出させることを 良しとしない文化が ある あった POS / レジ系のシステムはスタンドアロンをベースとして進化してきた歴史があり、 Windowsベースの実装で動いているものが現状も多い Microsoftはo365やEntra ID( Active Directory )など、企業におけるエンタープライズシーンで利用される ことが多く、エンタープライズな大企業はその信頼と関係性の延長でAzureを多用することが多い イオングループでも、上記背景からAzureの利用が非常に多い ( しかし、AWSやGCPの活用事例も徐々に広がってきている )

Slide 15

Slide 15 text

Aeon Smart Platform for Business – Architecture / Diagram On azure / Japan east Java / Spring Boot 内製スクラッチ開発 OSはRHEL 検索とCache目的でESを利用 非構造的キャッシュはMongo DBへ 永続化はAzure Flexible Server ( MySQL ) クライアントに提供する全ての機能はREST APIと して提供 アプリケーションは全てAKSで稼働 pods は 550 + deploymentsは 100+ 50 + instances Service Discovery Configuration Management

Slide 16

Slide 16 text

Aeon Smart Platform for Business – Microservice (?) product-api api-gateway order-api message-api marketing-api Gateway Micro-API mid-product mid-order mid-message mid-marketing Micro-Impl Service discovery product-db order-db message-db marketing-db Infrastructure Gateway機能で各種ACLや流入を制御 APIレイヤからドメイン単位でマイクロ サービス化 サービスディスカバリを中間に実装しAPI 実装の依存性を排除 Implレイヤにドメイン毎のビジネスロ ジックを実装 DBはドメイン毎に極度にシャーディング パーティショニングを実施

Slide 17

Slide 17 text

Aeon Smart Platform for Business – Re: Architecture 2023年 データの想定以上の増加から顕著にパフォーマンス劣化が発生 Re: Architectプロジェクトと名付けて、様々な抜本的な対策を実施 中心となるデータベースのパーティショニング/シャーディングは、複数回の深夜メンテナンスを実施して完遂

Slide 18

Slide 18 text

Aeon Smart Platform for Business – Re: Architecture それでも、データは増え続け、いつか今のアーキテクチャでも限界を迎える そのために、現在 MySQLをTiDBへ載せ替える検証を開始している

Slide 19

Slide 19 text

Aeon Smart Platform for Business Azureを選択する理由 アーキテクチャ / 全体構成 提供する機能 Re: Architecture Project iAEON Native App アーキテクチャ / 全体構成 信頼性向上プロジェクト Mini Program 支える仕組み NewRelicの活用 PagerDutyによる自動発報とNewRelicとのインテグレーション 実行する組織 組織設計に対するポリシー 向き合う組織構成

Slide 20

Slide 20 text

iAEON Native App イオングループのDXの入口の立ち位置となるトータルアプリ 2024年9月で3周年 2024年6月 1000万 + ダウンロード達成 顧客向けの多くの機能を順次追加 レジ完全連動のクーポン機能 AEON Pay キャッシュレス機能 株主向けオーナーズ機能 ネットスーパー機能 レシートレス機能 レジゴー機能

Slide 21

Slide 21 text

iAEON Native App / Architecture Ionic ハイブリッド開発 Front部分はAngularベースのSPA ( Typescript / SCSS ) 一部機能はNative実装でSDK組み込み ( Swift / Kotlin ) BFF APIを束ねて高速化 App Backend Backend処理 SPAなどを実現 ASP/B クーポン機能 店舗機能 ネットスーパー機能 CMS機能 配信機能 Push配信基盤 Push notification 会員基盤 Details are confidential for security reasons.

Slide 22

Slide 22 text

iAEON Native App / 信頼性向上

Slide 23

Slide 23 text

iAEON Native App / 信頼性向上

Slide 24

Slide 24 text

iAEON Native App / 信頼性向上

Slide 25

Slide 25 text

iAEON Native App / 信頼性向上

Slide 26

Slide 26 text

iAEON Native App / 信頼性向上

Slide 27

Slide 27 text

iAEON Native App / Mini Program iAEONにMini Program基盤を構築中 iAEONが提供するSDKを用いて開発したミニプログラムを、動的にダウンロードしアプリに追加していく仕組み グループ全体で多く存在するアプリをiAEONに統合してくための手段として開発 ※現時点で3rd PartyへのSDK公開は検討していません ※グループ内のアプリ統合は今後の予定を含めて、検討中となります

Slide 28

Slide 28 text

Aeon Smart Platform for Business Azureを選択する理由 アーキテクチャ / 全体構成 提供する機能 Re: Architecture Project iAEON Native App アーキテクチャ / 全体構成 信頼性向上プロジェクト Mini Program 支える仕組み NewRelicの活用 PagerDutyによる自動発報とNewRelicとのインテグレーション 実行する組織 組織設計に対するポリシー 向き合う組織構成

Slide 29

Slide 29 text

NewRelicの活用

Slide 30

Slide 30 text

NewRelicの活用

Slide 31

Slide 31 text

NewRelicの活用 最初はSRE中心の立ち上げだったが 現在は開発チームが独自にDash Boardsを複数作成し あきらかな障害対応速度とインシデント未然検知が出来ている APMも ほぼ全て導入完了しており アプリケーションレベルのExceptionや遅延もリアルタイム検知

Slide 32

Slide 32 text

NewRelicの活用 JavaアプリケーションのログもKibana中心だった が、ほぼNewRelicへ集約 NewRelicによるオブザーバビリティが整ったこと により、あらゆるデータが自動で検知可能に。 PagerDutyによるインテグレーションと 自動発報の仕組みを導入し 従来24/365で監視していた監視部隊を 完全解散

Slide 33

Slide 33 text

Aeon Smart Platform for Business Azureを選択する理由 アーキテクチャ / 全体構成 提供する機能 Re: Architecture Project iAEON Native App アーキテクチャ / 全体構成 信頼性向上プロジェクト Mini Program 支える仕組み NewRelicの活用 PagerDutyによる自動発報とNewRelicとのインテグレーション 実行する組織 組織設計に対するポリシー 向き合う組織構成

Slide 34

Slide 34 text

実行する組織 戦略 組織は戦略に従う 戦術の実行は戦略に基づく 戦術は業務と専門性に分解される チームは専門性を担う(カプセル化) 戦略 組織は戦略に従う 戦術の実行は戦略に基づく 戦術は製品に分解される チームはプロダクトを担う(機能横断型) プロダクト組織 ビジネス実行に重きを置き、全員がプロダクトにコミットし て遂行するチーム 専門型組織 専門性で組織をカプセル化し、チームとしての成長を促す 特定分野に特化し、スペシャリスト性を磨きながら価値を 生み出していくチーム

Slide 35

Slide 35 text

実行する組織 戦略 組織は戦略に従う 戦術の実行は戦略に基づく 戦術は製品に分解される チームはプロダクトを担う(機能横断型) 外部発注 元々は内製化しておらず、多くのプロダクトが外部に発注されていた そのため組織は極めて、whatとwhyに特化した組織となっており ジェネラリスト集団となり、Howに鈍感な状態であった 専門性が評価されず、スペシャリストが居心地が悪い環境 継続的なサービス運用が置いてきぼりに DXを目指しているのに、DXの中身が放置されている状態

Slide 36

Slide 36 text

実行する組織 COO PdM(PO) PdM(PO) PdM(PO) Project Project Project Project CTO Project Management Unit Frontend Development Unit Backend Development Unit Quality Assurance Unit DevSecOps Unit assignment 2024年4月に組織を大幅に改変 Product Owner制を導入し、対面する開発組織は専門性集団としてチームを再編成 2025年には内部で教育機関も保有し、イオングループにおけるエンジニア養成も担っていく予定

Slide 37

Slide 37 text

Aeon Smart Platform for Business Azureを選択する理由 アーキテクチャ / 全体構成 提供する機能 Re: Architecture Project iAEON Native App アーキテクチャ / 全体構成 信頼性向上プロジェクト Mini Program 支える仕組み NewRelicの活用 PagerDutyによる自動発報とNewRelicとのインテグレーション 実行する組織 組織設計に対するポリシー 向き合う組織構成

Slide 38

Slide 38 text

幅広いポジションで積極的に採用中です!! Fin.

Slide 39

Slide 39 text

所属 • イオン株式会社 CTO • イオンスマートテクノロジー株式会社 取締役 CTO • 2023年4月より現職 職歴(主なもの) • Yahoo! JAPAN(現 LINEヤフー株式会社 エンジニア • リクルート 開発責任者 • アソビュー CTO/トラストバンク CTO その他 • 海浜幕張在住 会社まで徒歩10分 • 7歳の男児のパパ • ラーメンショッパー(最近、山岡家に浮気気味) 山﨑 賢 @yamaken_66 自己紹介 のちほど、本日の資料を「 X 」にて公開します ぜひ、Xでフォローし資料を受け取り活用してください