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
0
170
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
2019年から2022年末までに、カラーミーショップの可用性を向上させるために取り組んできたことのサマリを発表しました。
GMO Develovers Day 2022での発表資料です。
Kenichi Takahashi
December 07, 2022
Tweet
Share
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
140
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
840
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2.1k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.2k
負債と言わないことが負債と向き合うこと
kenchan
5
4.5k
カラーミーショップは私たちが作っています
kenchan
0
1.7k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
710
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4.2k
ポストコロナの商売を支えるカラーミーショップのアーキテクチャのこれから / The new architecture of COLORME SHOP in the Post-COVID-19 world
kenchan
2
2.1k
Other Decks in Technology
See All in Technology
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
300
AI時代のPMに求められるのは 「Ops」と「Enablement」
shimotaroo
0
130
AI Agent Standards and Protocols: a Walkthrough of MCP, A2A, and more...
glaforge
0
440
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
230
BPaaSオペレーション・kubell社内 n8n活用による効率化検証事例紹介
kubell_hr
0
120
Git Training GitHub
yuhattor
1
220
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
280
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
950
AI アクセラレータチップ AWS Trainium/Inferentia に 今こそ入門
yoshimi0227
1
300
Kusakabe_面白いダッシュボードの表現方法
ykka
0
360
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
2
690
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
420
Featured
See All Featured
Amusing Abliteration
ianozsvald
0
87
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
54
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
420
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Bash Introduction
62gerente
615
210k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
85
Ethics towards AI in product and experience design
skipperchong
2
180
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
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/