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
130
可用性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
69
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
680
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
1.9k
「トップ10プランナー」からはじめる目標設定
kenchan
5
3.9k
負債と言わないことが負債と向き合うこと
kenchan
5
4k
カラーミーショップは私たちが作っています
kenchan
0
1.5k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
670
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4k
ポストコロナの商売を支えるカラーミーショップのアーキテクチャのこれから / The new architecture of COLORME SHOP in the Post-COVID-19 world
kenchan
2
2.1k
Other Decks in Technology
See All in Technology
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
120
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.3k
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
170
SalesforceArchitectGroupOsaka#20_CNX'25_Report
atomica7sei
0
170
Welcome to the LLM Club
koic
0
170
Github Copilot エージェントモードで試してみた
ochtum
0
110
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
3
300
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.6k
本が全く読めなかった過去の自分へ
genshun9
0
450
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
0
200
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
140
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
210
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
72
4.9k
Docker and Python
trallard
44
3.4k
Thoughts on Productivity
jonyablonski
69
4.7k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
BBQ
matthewcrist
89
9.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Building Applications with DynamoDB
mza
95
6.5k
Being A Developer After 40
akosma
90
590k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Code Reviewing Like a Champion
maltzj
524
40k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
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/