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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
150
エンジニアリング 💰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
Tebiki Engineering Team Deck
tebiki
0
23k
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
120
AI時代、1年目エンジニアの悩み
jin4
1
140
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
67k
Vitest Highlights in Angular
rainerhahnekamp
0
130
分析画面のクリック操作をそのままコード化 ! エンジニアとビジネスユーザーが共存するAI-ReadyなBI基盤
ikumi
0
120
KubeCon + CloudNativeCon NA ‘25 Recap, Extensibility: Gateway API / NRI
ladicle
0
170
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
190
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.9k
DEVCON 14 Report at AAMSX RU65: V9968, MSX0tab5, MSXDIY etc
mcd500
0
240
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
270
2人で作ったAIダッシュボードが、開発組織の次の一手を照らした話― Cursor × SpecKit × 可視化の実践 ― Qiita AI Summit
noalisaai
1
340
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
55
49k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
49k
Ruling the World: When Life Gets Gamed
codingconduct
0
130
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The browser strikes back
jonoalderson
0
350
Designing for Timeless Needs
cassininazir
0
120
From π to Pie charts
rasagy
0
120
Designing Experiences People Love
moore
144
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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/