Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ポストコロナの商売を支える カラーミーショップのアーキテクチャの これから EC事業部 チーフテクニカルリード 高橋 健一 (@kenchan)
Slide 2
Slide 2 text
今日お話しすること ● コロナ禍におけるカラーミーショップを取り巻く状況 ● カラーミーショップの現在のアーキテクチャ ● ポストコロナの商売を支えるために取り組んでいること
Slide 3
Slide 3 text
コロナ禍における カラーミーショップを取り巻く状況
Slide 4
Slide 4 text
コロナ禍における流通額と申込数の変化 カラーミーショップ全体の 流通額は前年比1.7倍 2020-04以降の新規申込数は 大きく増加 ※「カラーミーショップ」の流通額が4月に引き続き好調 5月流通額が前年同月比1.7倍に https://pepabo.com/news/press/202006181600
Slide 5
Slide 5 text
● 一般消費者 ○ ネットショップを利用する機会の増加 ● ショップオーナー ○ ネットショップの重要性の高まり 新しい生活様式とネットショップ運営
Slide 6
Slide 6 text
ネットショップの重要性が高まっているこの状況において、 ショップ運営が不可能になる障害を何度か起こしてしまい、 申し訳ありませんでした。
Slide 7
Slide 7 text
[まとめ] カラーミーショップを取り巻く状況 ● ネットショップの流通額の増加 ● 新規ネットショップ開設数の増加 ショップ運営におけるネットショップの重要性が増し、 より広く、大きな影響を与えられるようになった。
Slide 8
Slide 8 text
カラーミーショップの 現在のアーキテクチャ
Slide 9
Slide 9 text
マルチテナントウェブアプリケーション
Slide 10
Slide 10 text
マルチテナンシーの3段階のレベル 1. クラウド内での単純な仮想化により、ハードウェアのみを共有 2. 1 つのアプリケーションで、テナントごとに異なるデータ ベースを使用 3. 1 つのアプリケーションでデータベースを共有 (最も効率的な 真のマルチテナンシー) Web アプリケーションをマルチテナント型 SaaS ソリューションに変換する https://www.ibm.com/developerworks/jp/cloud/library/cl-multitenantsaas/ 課題はあるものの カラーミーショップは レベル3に近い形をとっています
Slide 11
Slide 11 text
DBを共有する複数のサブシステム
Slide 12
Slide 12 text
[まとめ] カラーミーショップのアーキテクチャ ①マルチテナント ウェブアプリケーション である ②DBを共有した 複数のサブシステムで 構築されている
Slide 13
Slide 13 text
ポストコロナの 商売を支えるために取り組んでいること
Slide 14
Slide 14 text
現在取り組んでいるアーキテクチャの改善 ● データベースの耐障害性・可用性の向上 ● サブシステムの拡張性の向上 ● ショップ単位での独立性の向上
Slide 15
Slide 15 text
データベースの耐障害性・可用性の向上 単一障害点
Slide 16
Slide 16 text
カラーミーショップのデータベースの現状 ● プライベートクラウド基盤Nyah上のVMで稼働 ● ディスク上のデータ容量は700GB ● 書き込み用が1台、読み込み用のレプリケーションが複数台 ○ 書き込み用のDBはピーク時で20,000クエリ/分 ○ 読み込み用のDBはピーク時で1台あたり900,000クエリ/分
Slide 17
Slide 17 text
耐障害性・可用性の向上への取り組み ● ProxySQLを用いた負荷分散とフェイルオーバーの実現 ○ クエリログ取得も兼ねて導入済 ● パブリッククラウドを活用したハイブリッドクラウド構成へ ○ 検討中!
Slide 18
Slide 18 text
サブシステムの拡張性の向上 一定のスケーラビリティ は確保できているが改善 の余地あり
Slide 19
Slide 19 text
サブシステムの拡張性の向上への取り組み ● アプリケーションの運用をVMからコンテナベースに変更 ● コンテナオーケストレーションシステムを活用した 拡張性の向上へ 実録!CloudNativeを 目指した230日 / cloud-native-days-tokyo-2019 https://speakerdeck.com/takaishi/cloud-native-days-tokyo-2019
Slide 20
Slide 20 text
ショップ単位での独立性の向上
Slide 21
Slide 21 text
ショップ単位での独立性の向上 突発的なアクセス増加など システムのキャパシティを超えた ときに、全てのショップに障害が 波及しまう場合がある
Slide 22
Slide 22 text
ショップ単位での独立性の向上への取り組み ショップクラスタA ショップクラスタB 1つまたは複数のショップによっ てクラスタを構成し、クラスタ毎 にキャパシティプランニングする ことで障害の波及を食い止める
Slide 23
Slide 23 text
ショップ単位での独立性の向上への取り組み ● アクセスが集中する可能性のあるショップをあらかじめ分離 ○ 「分離環境」という仕組みを本番投入済み ● 全ショップを複数のクラスタに分離、またそれを動的に再配置 ○ 検討中!
Slide 24
Slide 24 text
[まとめ] 課題と取り組んでいること ● データベースの耐障害性・可用性の向上 ○ ハイブリッドクラウドによる可用性の確保を検討 ● サブシステムの拡張性の向上 ○ コンテナ化とk8sによる拡張性の確保を進行中 ● ショップ単位での独立性の向上 ○ 特定のショップの負荷を全体に波及させないアーキテク チャを検討中
Slide 25
Slide 25 text
終わりに
Slide 26
Slide 26 text
今日のまとめ ● コロナ禍におけるカラーミーショップを取り巻く状況 ○ 消費行動の変化でネットショップの重要性は高まっている ● カラーミーショップの現在のアーキテクチャ ○ DBを共有するマルチテナントウェブアプリケーションである ● ポストコロナの商売を支えるために取り組んでいること ○ データベースの可用性・耐障害性の向上 ○ サブシステムの拡張性の向上 ○ ショップ単位での独立性の向上
Slide 27
Slide 27 text
ポストコロナの商売を支える カラーミーショップのアーキテクチャの これから を一緒に作りましょう