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
5k
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
巨大企業でDX革新を起こすということ@BTCONJP2024
aeonpeople
2
130
AEON’s blueprint for technological maturity and market competitiveness/aeon-for-technological-maturity-and-makert-competitiveness
aeonpeople
0
1.2k
HashiCorpと歩むPlatform Engineeringジャーニー/the-journey-of-platform-engineering-with-hashicorp
aeonpeople
1
470
SRE改善サイクルはチームを超えて - ダッシュボードを眺める会の取り組み/SRE improvement cycle across teams
aeonpeople
1
2.5k
データ連携をチートせよ。~イオンが目指すコネクティビティデータ基盤~/Aeon's goal of creating a connectivity data platform
aeonpeople
1
220
New Relicで実践する外形監視
aeonpeople
2
290
内製化の背景/Back ground of insourcing
aeonpeople
2
110
エンタープライズ企業の障害対応革新 – PagerDuty導入とその成果/pagerduty-usecase-of-aeon
aeonpeople
8
6.9k
AeonNext における Collaborativeな開発/Collaborative Development at AeonNext
aeonpeople
1
170
Other Decks in Technology
See All in Technology
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
複雑なState管理からの脱却
sansantech
PRO
1
140
Engineer Career Talk
lycorp_recruit_jp
0
110
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
240
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
SSMRunbook作成の勘所_20241120
koichiotomo
2
120
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Code Review Best Practice
trishagee
64
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
It's Worth the Effort
3n
183
27k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
How STYLIGHT went responsive
nonsquared
95
5.2k
Typedesign – Prime Four
hannesfritz
40
2.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
GitHub's CSS Performance
jonrohan
1030
460k
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
まとめ
・完全停止を防ぎたい。動く機能を動かせるようにして、動かない 機能はきちんとエラーを表示してあげることがとても重要! ・これからも便利な機能を発表していくので、乞うご期待! まとめ
告知
募集しています!