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
1000万DL人を支えるiAEONアプリ:完全停止を防ぐ耐障害性の設計/iAEON app s...
Search
AEON
September 18, 2024
Technology
7
8k
1000万DL人を支えるiAEONアプリ:完全停止を防ぐ耐障害性の設計/iAEON app supporting 10 million users
2024年9月18日開催「一休×AEON 事業会社のサービスを支える基盤開発トーク」の登壇資料です。
https://ikyu.connpass.com/event/327095/
AEON
September 18, 2024
Tweet
Share
More Decks by AEON
See All by AEON
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
130
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
380
会社もクラウドも違うけど 通じたコスト削減テクニック/Cost optimization strategies effective regardless of company or cloud provider
aeonpeople
2
600
SREがコストセンターではないことを大きな声と実例で伝えたい/SRE Is Not a Cost Center: Real-World Stories That Prove True Value
aeonpeople
1
880
SREチームの越境と対話〜どのようにしてイオンスマートテクノロジーは横軸運用チームの廃止に至ったか〜/the-Cross-border-and-dialogue-of-SRE
aeonpeople
13
7.3k
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
820
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
2.7k
【ITmedia DX Summit 23/基調講演】イオンが構築する超大規模データ基盤と、その活用戦略
aeonpeople
2
970
イオングループ プロダクト人材向け会社紹介資料 / AEON Product Talent Recruitment Deck
aeonpeople
0
1.7k
Other Decks in Technology
See All in Technology
JavaScript 研修
recruitengineers
PRO
6
1.4k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
460
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
160
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
110
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
1.1k
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
150
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
130
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
2
310
Function Body Macros で、SwiftUI の View に Accessibility Identifier を自動付与する/Function Body Macros: Autogenerate accessibility identifiers for SwiftUI Views
miichan
2
160
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
0
170
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
360
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
9.9k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Embracing the Ebb and Flow
colly
87
4.8k
Agile that works and the tools we love
rasmusluckow
330
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Speed Design
sergeychernyshev
32
1.1k
Transcript
1000万DL人を支えるiAEONアプリ –完全停止を防ぐ耐障害性の設計– イオンスマートテクノロジー株式会社 フロントエンド開発Div 范敏
Agenda •各種紹介(自己、グループ、会社) •iAEONが直面する課題 •課題への取り組み •取り組みの成果 •まとめ
自己紹介
范敏(ファン ミン) イオンスマートテクノロジー株式会社 フロントエンド開発Div iAEON内製チーム所属 (2021/11入社) スクラムチームのコアメンバーの一員として活動中 趣味:犬、旅行 おすすめ書籍:データ指向アプリケーションデザイン
イオングループ紹介
イオングループ紹介 - 関連数字 https://www.aeon.info/company/ - "INFOGRAPHICS 数字で見るイオングループ"
会社紹介
会社紹介
iAEONアプリについて 膨大なIDと購買データを集約したアプリ「iAEON」 iAEON(アイイオン)はイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを一つのアプリに統合しています。 提供開始から約3年で、iAEONは880万人以上の会員を抱え(24年8月時点)、総ダウンロード数は1000万を2024年6月に突破しました。
iAEONアプリについて 膨大なIDと購買データを集約したアプリ「iAEON」 iAEON(アイイオン)はイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを一つのアプリに統合しています。 提供開始から約3年で、iAEONは880万人以上の会員を抱え(24年8月時点)、総ダウンロード数は1000万を2024年6月に突破しました。 https://prtimes.jp/main/html/rd/p/000004399.000007505.html
iAEONの開発体制
iAEONの開発体制
iAEONが直面する課題
• 提供しているサービスは多岐にわたり、連携しているバックエンドシステムも多数存在する。 • そのため、どこか1つのバックエンドシステムがダウンすると、アプリ全体がほぼ完全停止の状態 になってしまったことがある • ログインに関係のないバックエンドの障害でも、ログインができなくなるケースがあった。 • 会員サービスに問題がないにもかかわらず、会員バーコードが表示されない場合もあった。 •
さらに、エラーメッセージが表示されても内容が理解できず、ユーザーは何をすれば良いのかわ からない状況が発生している。 iAEONが直面する課題
課題への取り組み
基本的な考え方: ・重要な機能から取り組んでいく ・バックエンドが落ちたとしても動作できる機能は確実に動作させ、どうし ても動かない機能についてはユーザーに分かりやすいエラーメッセージ を提示する。 iAEONが直面する課題への取り組み
・アプリ起動に必要な情報を適宜ローカルにキャッシュし、いざネットワークが繋がらない 時でも、キャッシュで起動できるようにする iAEONが直面する課題への取り組み <重要度最高>ログインについて After Before ログインできな い アプリに入るための 情報は何が必要?
起動できた際にロー カルストレージに キャッシュする 情報が取れる場合は サーバから取得し、 キャッシュを更新。取 れない場合はキャッ シュから取る
・TOP画面が最重要。画面の描画をさらに細かく分割し、エラーが発生した部分にはエラーメッ セージを表示し、問題がない部分は正常に動作するように工夫する iAEONが直面する課題への取り組み <重要度高> Top画面について After Before エラー状況をユーザーに伝えるために お知らせ欄を設置する
・イオンラウンジも必須。起動に必要な情報をキャッシュし、ラウンジのサービスが死んでいない 限り、常に起動できるようにする iAEONが直面する課題への取り組み <重要度高> イオンラウンジについて After Before ラウンジの予 約をしたいの に、開けない
ラウンジに入るため に必要最小限の情 報は何? うまく起動できた際に ローカルストレージに キャッシュする 情報が取れる場合はサーバから最新情報を取得し、キャッ シュを更新。エラーの場合はキャッシュから取る。
・会員コード画面。会員サービスがダウンしていなければ会員コードの表示を可能にする。 iAEONが直面する課題への取り組み <重要度高> 会員コードについて After Before バーコード表示に必要なシステムがダウンして いると電波状況確認モーダルが立ち上がり バーコード画面が立ち上がらない バーコード表示不可時
は適切なメッセージを 表示する 画面の表示をいくつかの非同期 処理に分割し、サービスがダウン したパーツは非表示にする
・店舗関連のサービスがダウンした時でも、キャッシュでお気に入り店舗エリアを表示し クーポンサービスを利用できるようにする iAEONが直面する課題への取り組み <重要度中> お気に入り店舗エリアについて After Before バックエンド障害時、ホーム画面で表示で きるものはない POSとCMSのシス
テムはまだ動いて いる可能性が高い ため、せめてクーポ ンとか使えるように してあげたい 店舗の情報はそこ まで日々変わるも のではないので、 キャッシュした方が 良い バックエンドがダウン した際にキャッシュか ら店舗情報を取得し、 お気に入り店舗エリ アを表示する
取り組みの成果
取り組みの成果 • アプリ評価Ptが大幅に上昇 • 8/1時点のアプリ評価Pt ⇒ AppStore:3.6Pt、GooglePlayStore:4.1Pt ▪AppStore評価Pt ▪GooglePlayStore評価Pt 2024年8月1日時点のアプリ評価Pt
2023年12月末時点のアプ リ評価Pt •AppStore:1.9Pt •GooglePlayStore:2.9Pt
まとめ
・完全停止を防ぎたい。動く機能を動かせるようにして、動かない 機能はきちんとエラーを表示してあげることがとても重要! ・これからも便利な機能を発表していくので、乞うご期待! まとめ
告知
募集しています!