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
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
Search
Kenichi Takahashi
December 07, 2022
Technology
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
2019年から2022年末までに、カラーミーショップの可用性を向上させるために取り組んできたことのサマリを発表しました。
GMO Develovers Day 2022での発表資料です。
Kenichi Takahashi
December 07, 2022
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.3k
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
210
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
3
1k
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2.2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.5k
負債と言わないことが負債と向き合うこと
kenchan
5
4.8k
カラーミーショップは私たちが作っています
kenchan
0
1.8k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
750
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4.4k
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
190
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
740
事業価値と Engineering 2026年度版
recruitengineers
PRO
41
20k
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
490
Retriever と Reranker、結局どうする?
kazuaki
3
680
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
570
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
280
【CEDEC2026】グラフィックスエンジニアのためのニューラルシェーディング入門
cygames
PRO
0
100
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
モダンフロントエンド 開発研修
recruitengineers
PRO
2
420
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
510
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
360
The Language of Interfaces
destraynor
162
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
610
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
480
The SEO Collaboration Effect
kristinabergwall1
1
510
Facilitating Awesome Meetings
lara
57
7.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
420
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
530
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
Documentation Writing (for coders)
carmenintech
77
5.4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
460
Transcript
可用性No.1へ! 「カラーミーショップ」の リ・アーキテクティング GMOペパボ株式会社 技術責任者 兼 EC事業部シニアエンジニアリングリード 高橋 健一 (@kenchan)
今日のおはなし 「カラーミーショップ byGMOペパボ」では2020年より可用性 の向上に取り組んできました。 その結果、2022年1月から9月までの間、商品の閲覧から購入 完了までのフローにおける稼働率99.98%を達成しました。 本発表では、これを達成するために取り組んだシステムの改善 を4つ紹介します。
アジェンダ 1. 「カラーミーショップ by GMOペパボ」について 2. ECプラットフォームにおける可用性の重要性 3. 可用性向上のために取り組んだこと4選 4.
今後の展望
カラーミーショップについて
サービス開始は2005年 であり今年で18年目 カラーミーショップについて 利用いただいている店舗 は約40,000店舗 全店舗の流通合計額は 年間で約2070億円 ※ 数字は2021年末時点
アジェンダ 1. 「カラーミーショップ by GMOペパボ」について 2. ECプラットフォームの可用性の重要性 3. 可用性向上のために取り組んだこと4選 4.
今後の展望
ECプラットフォームとしての特性 マルチテナント ユーザのビジネス基盤 👨💼 🧑🏼💼 👩💼 👩🏾💼 リソースは共有する一方で、 テナント単位で論理的に独立 している。
ユーザにとってはビジネスの 場でありミッションクリティ カルなシステムである。
ECプラットフォームにおける障害の意味 システムの稼働率がビジネスに直結 • 1時間全停止すると約2300万の流通損失 • 年間流通2070億円 / 365日 / 24時間
≒ 2300万💸💸💸 • システム障害は3者にとっての不利益 • 消費者は欲しいものが手に入らない • ショップオーナーは商売ができない • GMOペパボは信頼を失なう
高い稼働率には価値がある ECビジネスを支える 技術的なチャレンジ マルチテナントアーキキテクチャでは リソースの共有と隔離の設計が肝。 全てを共有するのも、完全に隔離する のも、コストパフォーマンスが良いと は言えない。 稼働率の高さはお客様のビジネスを 支えるシステムの前提であると共に、
一般消費者・EC事業者・私達の3者 を笑顔にする武器でもある。
稼働率を定義して改善する • 改善の一歩目は指標を決めて計測すること • 「推測するな計測せよ」 • ECサイトで重要なのは商品の購入ができること • アプリケーション、データベース、決済システムなど実は複雑 商品ページの閲覧から購入完了までが
完了できること を改善するメトリクスと決定
アジェンダ 1. 「カラーミーショップ by GMOペパボ」について 2. ECプラットフォームの可用性の重要性 3. 可用性向上のために取り組んだこと4選 4.
今後の展望
アジェンダ 1. データベースサーバの可用性向上 2. アプリケーションのパフォーマンス改善 3. フィーチャートグルの導入 4. 待合室によるシステムの保護 可用性向上のために取り組んだこと
1. データベースの可用性向上 カラーミーショップの単一障害点 • カラーミーショップはDBで結合する複数のサブシステムで構成 • 2019年時点ではプライベートクラウド基盤上で運用 • 深夜にPrimary DBの障害が発生し数時間のシステムダウン
1. データベースの可用性向上 Amazon RDSへの移行を決断 AWS Direct Connectを利用した多段レプリケーションによる移行 ※「Amazon RDS移行のための 性能検証でわかった2つのこと」より
1. データベースの可用性向上 Amzon RDSへの移行の狙い • 高い可用性 • Multi-AZ環境ではSLA 99.95% •
オペレーションの構造化が可能 • 柔軟性は減るがトラブルや障害の対応手順を一般化可能
2. アプリケーションのパフォーマンス改善 パフォーマンス計測と改善 • 商品ページの表示から購入完了までに関わるアプリ ケーション全てにAPMを導入 • 「可用性向上プロジェクト」を立ち上げ、専任のメ ンバーでパフォーマンス改善を推進
2. アプリケーションのパフォーマンス改善 「レガシーWebアプリケーションの性能とコードの健全性をインクリメンタルに改善する」より
3. フィーチャートグルの導入 Testing in Productionの実践 • システムの規模が大きく複雑性が高いシステムでは、本番環境 でしか起こらない問題が発生する • データ量の違い
• サービス間の連携 • ハードウェア、ネットワークの違い • 本番環境において、ユーザに影響を出さずにテストすることで 安全にリリースする
3. フィーチャートグルの導入 「切り取り方を工夫してアプリケーションを漸進的に改善する」より
4. 待合室によるシステムの保護 システムの限界を超えるアクセスの発生 • 限定・予告販売等でのアクセスの急増 • 自動購入BOTによる大量のアクセス • 時期などをプラットフォーム側がコントロールするのが困難 •
スケールアウトが間に合わない場合が多い 対応が困難な場合が多い
4. 待合室によるシステムの保護 https://ten-snapon.com/archives/2701 https://shop-pro.jp/news/release-waiting-room/ システムを守りつつ機会損失を減らす
まとめ 私たちが可用性向上のために取り組んできたこと 1. Amazon RDS移行によるデータベースサーバの可用性向上 2. アプリケーションのパフォーマンス改善 3. フィーチャートグルによる安全なリリースフローの確立 4.
突発的なアクセス急増からシステムを守るWaiting Roomの導入
アジェンダ 1. 「カラーミーショップbyGMOペパボ」について 2. ECプラットフォームの可用性の重要性 3. 可用性向上のために取り組んだこと4選 4. 今後の展望
今後の展望 SREのプラクティスを取り入れた開発 • エラーバジェットの運用 • 高い可用性を確保したまま、魅力的な機能の開発・技術的な チャレンジを行う より柔軟にリソースを管理できるアーキテクチャへ • Shopsetアーキテクチャの本番投入
今日のおはなし 「カラーミーショップ byGMOペパボ」では2020年より可用性 の向上に取り組んできました。 その結果、2022年1月から9月までの間、商品の閲覧から購入 完了までのフローにおける稼働率99.98%を達成しました。 本発表では、これを達成するために取り組んだシステムの改善 を4つ紹介しました。
No.1 ECプラットフォームを一緒に作りましょう! https://recruit.pepabo.com/