30
Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ CTO 奥清隆

ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

Google Cloud

Anthos Day

GKEで実現する自由なECサイト構築プラットフォーム株式会社イーシーキューブ CTO 奥清隆

Page 2: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

ECに色を

EC-CUBE

● オープンソース● ECサイトパッケージ● PHP● モノリシック● シングルテナント

Page 3: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ
Page 4: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

沿革

Page 5: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ
Page 6: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

EC-CUBEのクラウドサービス

● OSSパッケージと同じソース○ 機能拡張はプラグイン

○ プラグインシステム

■ ユーザーのプログラムを実行できる

○ ファイルシステムを使うキャッシュ

● 取り込まれたPull Requestは毎週本番に反映○ OSSパッケージは3ヶ月に1度マイナーバージョンアップ

○ プラグインが動かなくなるので互換性とテストが大事

Page 7: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

クラウドサービス開始前

● EC-CUBEのパッケージ開発は行っているが、サイト構築や運用は直接していな

かった

● 運用しているのはプラグインやテンプレートを配信するサービスや開発コミュニ

ティサイト

● Kubernetesは使っていない

● コンテナはローカルでの開発やCI環境で利用

Page 8: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

なぜKubernetes?

● PoCの早い段階でコンテナ利用を決定● コンテナ管理するためにKubernetesを検討● 学習コストは高いが得られるものも大きい● Kubernetesを学ぶことでサービス運用に必要な知見を習得● そのままKubernetes/GKEを採用に至る

Page 9: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

本番導入してまもなく1年

2018/10 2019/01 2019/02 2020/01

PoC開始 クローズドβリリース

正式リリース

Page 10: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

01構成

Page 11: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

IngressGCLB

Kubernetes Engine

EC-CUBEPod

アプリケーションサーバー

● Apache + EC-CUBE● Postfixのコンテナをサイドカーにして

SendGridにリレー● フロントにはIngressを利用

Page 12: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

IngressGCLB

Kubernetes Engine

PostgreSQLPod

EC-CUBEPod

データベース

● マネージド・サービスではなくコンテナを利用

● データファイルはPVに永続化

Page 13: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

IngressGCLB

Kubernetes Engine

PostgreSQLPod

MemcachedPod

EC-CUBEPod

キャッシュサーバー

● EC-CUBEのキャッシュ

Page 14: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

ファイルサーバー

● ReadWriteManyなPVとして使用● ユーザーがアップロードした

画像/CSS/JSなどのリソース● ユーザーがインストールした

プラグインやUIテンプレートIngressGCLB

Kubernetes Engine

PostgreSQLPod

MemcachedPod

EC-CUBEPod

NFS ServerCompute Engine

Page 15: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

CronJob

● 証明書更新● DBバックアップ● ファイルバックアップ● レポート作成

IngressGCLB

Kubernetes Engine

PostgreSQLPod

MemcachedPod

EC-CUBEPod

NFS ServerCompute Engine

Hourly/DailyCronJob

Page 16: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

IngressGCLB

Kubernetes Engine

PostgreSQLPod

MemcachedPod

EC-CUBEPod

NFS ServerCompute Engine

Hourly/DailyCronJob

1サイトを1つのNamespaceで管理

● EC-CUBEはマルチテナントではない● サイトごとにNamespaceで分離● コンテナイメージは同じだがサイトごとに異

なる設定を持つ● NetworkPolicyでNS間のアクセスを制御

Page 17: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

Kubernetes Engine

Page 18: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

Kubernetes Engine

メリット

● 個別に管理することでサイトごとに異なる設定が可能

● スケールするときもサイトごとに● ユーザーはプラグイン等で自由にカスタマ

イズしたサイトを構築● NSで分離することでサイト間で干渉しない● 個別の要望にも対応可能● 自由なカスタマイズを実現

デメリット

● アップデート/メンテナンスも個別に

Page 19: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

Helm

● 異なる設定を変数として定義しConfigMap/SecretやK8sオブジェクトを作成

apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: name: eccube-ingress annotations: kubernetes.io/ingress.global-static-ip-name: {{ .Release.Name }}-ipspec: tls: - secretName: eccube-certificate hosts: - {{ .Values.domain }} backend: serviceName: eccube-svc servicePort: 80

Page 20: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

02アップデート/メンテンナンス

Page 21: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

アップデート

● 毎週最新版のEC-CUBEをデプロイ● 各サイトごとに`heml upgrade`コマンドを

実行していく● サイト数が増えるとすべてをアップデートす

るのに時間がかかる

$ heml upgrade ...

Page 22: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

並列化

● Cloud Pub/Sub -> Cloud Run

Cloud Run

Cloud Pub/Sub

Cloud Run

Cloud Run

Page 23: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

● Stackdriver Logging○ すべてのログを一元管理○ エラーログからアラートを通知

● Stackdriver Monitoring○ 各リソース状況のダッシュボード

モニタリング

Page 24: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

03検討したGCPサービス

Page 25: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

検討したGCPサービス - データベース

● Cloud Spanner○ 現状EC-CUBEではサポートしていない

● Cloud SQL○ 1インスタンスを複数サイトで共有すればコス

ト面はクリア○ 共有した場合にサイトの分離が困難

今回のユースケースには合わなかったが、マネージドサービスを使えるなら使うべき

Page 26: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

検討したGCPサービス - その他

● Cloud Memorystore for Redis○ 上位プランの提供にあたって現在検討中

● Stackdriver Monitoring 稼働時間チェック○ サイト数が増えるとGCPプロジェクトの上限数に当

たる○ ZabbixをGKEにデプロイして代用○ Zabbixの稼働時間チェックとアラートには利用

Page 27: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

本番運用して1年

Page 28: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

● 小さな組織で運用できた● 大規模な障害もありました● EC-CUBE本体へのフィードバックサイクルの短縮● OSSパッケージのリリースプロセス短縮● 今後の新規サービス展開が広がった

ここまで

Page 29: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

● サービスと組織の拡大● より安定したサービス提供へ● 新規サービスの開発● 既存サービスのマイクロサービス化

これから

Page 30: ECサイト構築プラットフォーム GKE Google Cloud …...Google Cloud Anthos Day GKEで実現する自由な ECサイト構築プラットフォーム 株式会社イーシーキューブ

ご清聴ありがとうございました。