Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ポストコロナの商売を支えるカラーミーショップのアーキテクチャのこれから / The new architecture of COLORME SHOP in the Post-COVID-19 world

ポストコロナの商売を支えるカラーミーショップのアーキテクチャのこれから / The new architecture of COLORME SHOP in the Post-COVID-19 world

ペパボ EC テックカンファレンス - EC サイトの開発の裏側大公開 https://pepabo.connpass.com/event/179445/ にて発表した、カラーミーショップが現在取り組んでいるアーキテクチャの改善についての資料です。

Kenichi Takahashi

June 24, 2020
Tweet

More Decks by Kenichi Takahashi

Other Decks in Technology

Transcript

  1. ポストコロナの商売を支える
    カラーミーショップのアーキテクチャの
    これから
    EC事業部 チーフテクニカルリード
    高橋 健一 (@kenchan)

    View Slide

  2. 今日お話しすること
    ● コロナ禍におけるカラーミーショップを取り巻く状況
    ● カラーミーショップの現在のアーキテクチャ
    ● ポストコロナの商売を支えるために取り組んでいること

    View Slide

  3. コロナ禍における
    カラーミーショップを取り巻く状況

    View Slide

  4. コロナ禍における流通額と申込数の変化
    カラーミーショップ全体の
    流通額は前年比1.7倍
    2020-04以降の新規申込数は
    大きく増加
    ※「カラーミーショップ」の流通額が4月に引き続き好調 5月流通額が前年同月比1.7倍に
    https://pepabo.com/news/press/202006181600

    View Slide

  5. ● 一般消費者
    ○ ネットショップを利用する機会の増加
    ● ショップオーナー
    ○ ネットショップの重要性の高まり
    新しい生活様式とネットショップ運営

    View Slide

  6. ネットショップの重要性が高まっているこの状況において、
    ショップ運営が不可能になる障害を何度か起こしてしまい、
    申し訳ありませんでした。

    View Slide

  7. [まとめ] カラーミーショップを取り巻く状況
    ● ネットショップの流通額の増加
    ● 新規ネットショップ開設数の増加
    ショップ運営におけるネットショップの重要性が増し、
    より広く、大きな影響を与えられるようになった。

    View Slide

  8. カラーミーショップの
    現在のアーキテクチャ

    View Slide

  9. マルチテナントウェブアプリケーション

    View Slide

  10. マルチテナンシーの3段階のレベル
    1. クラウド内での単純な仮想化により、ハードウェアのみを共有
    2. 1 つのアプリケーションで、テナントごとに異なるデータ
    ベースを使用
    3. 1 つのアプリケーションでデータベースを共有 (最も効率的な
    真のマルチテナンシー)
    Web アプリケーションをマルチテナント型 SaaS ソリューションに変換する
    https://www.ibm.com/developerworks/jp/cloud/library/cl-multitenantsaas/
    課題はあるものの
    カラーミーショップは
    レベル3に近い形をとっています

    View Slide

  11. DBを共有する複数のサブシステム

    View Slide

  12. [まとめ] カラーミーショップのアーキテクチャ
    ①マルチテナント
    ウェブアプリケーション
    である
    ②DBを共有した
    複数のサブシステムで
    構築されている

    View Slide

  13. ポストコロナの
    商売を支えるために取り組んでいること

    View Slide

  14. 現在取り組んでいるアーキテクチャの改善
    ● データベースの耐障害性・可用性の向上
    ● サブシステムの拡張性の向上
    ● ショップ単位での独立性の向上

    View Slide

  15. データベースの耐障害性・可用性の向上
    単一障害点

    View Slide

  16. カラーミーショップのデータベースの現状
    ● プライベートクラウド基盤Nyah上のVMで稼働
    ● ディスク上のデータ容量は700GB
    ● 書き込み用が1台、読み込み用のレプリケーションが複数台
    ○ 書き込み用のDBはピーク時で20,000クエリ/分
    ○ 読み込み用のDBはピーク時で1台あたり900,000クエリ/分

    View Slide

  17. 耐障害性・可用性の向上への取り組み
    ● ProxySQLを用いた負荷分散とフェイルオーバーの実現
    ○ クエリログ取得も兼ねて導入済
    ● パブリッククラウドを活用したハイブリッドクラウド構成へ
    ○ 検討中!

    View Slide

  18. サブシステムの拡張性の向上
    一定のスケーラビリティ
    は確保できているが改善
    の余地あり

    View Slide

  19. サブシステムの拡張性の向上への取り組み
    ● アプリケーションの運用をVMからコンテナベースに変更
    ● コンテナオーケストレーションシステムを活用した
    拡張性の向上へ
    実録!CloudNativeを 目指した230日 / cloud-native-days-tokyo-2019
    https://speakerdeck.com/takaishi/cloud-native-days-tokyo-2019

    View Slide

  20. ショップ単位での独立性の向上


    View Slide

  21. ショップ単位での独立性の向上
    突発的なアクセス増加など
    システムのキャパシティを超えた
    ときに、全てのショップに障害が
    波及しまう場合がある

    View Slide

  22. ショップ単位での独立性の向上への取り組み
    ショップクラスタA ショップクラスタB
    1つまたは複数のショップによっ
    てクラスタを構成し、クラスタ毎
    にキャパシティプランニングする
    ことで障害の波及を食い止める

    View Slide

  23. ショップ単位での独立性の向上への取り組み
    ● アクセスが集中する可能性のあるショップをあらかじめ分離
    ○ 「分離環境」という仕組みを本番投入済み
    ● 全ショップを複数のクラスタに分離、またそれを動的に再配置
    ○ 検討中!

    View Slide

  24. [まとめ] 課題と取り組んでいること
    ● データベースの耐障害性・可用性の向上
    ○ ハイブリッドクラウドによる可用性の確保を検討
    ● サブシステムの拡張性の向上
    ○ コンテナ化とk8sによる拡張性の確保を進行中
    ● ショップ単位での独立性の向上
    ○ 特定のショップの負荷を全体に波及させないアーキテク
    チャを検討中

    View Slide

  25. 終わりに

    View Slide

  26. 今日のまとめ
    ● コロナ禍におけるカラーミーショップを取り巻く状況
    ○ 消費行動の変化でネットショップの重要性は高まっている
    ● カラーミーショップの現在のアーキテクチャ
    ○ DBを共有するマルチテナントウェブアプリケーションである
    ● ポストコロナの商売を支えるために取り組んでいること
    ○ データベースの可用性・耐障害性の向上
    ○ サブシステムの拡張性の向上
    ○ ショップ単位での独立性の向上

    View Slide

  27. ポストコロナの商売を支える
    カラーミーショップのアーキテクチャの
    これから を一緒に作りましょう

    View Slide