アーキテクチャ: SAP Hybris のデプロイ

ここでは、Google Cloud 上に SAP Hybris をデプロイするためのアーキテクチャについて説明します。SAP Hybris は、スケーラビリティ、高トラフィック、大量受注向けに設計されたコマース プラットフォームです。SAP Hybris プラットフォームでは、企業間取引(B2B)や一般消費者向け取引(B2C)のワークロードがサポートされています。この記事では、B2B と B2C のデプロイを行うための SAP Hybris アーキテクチャ コンポーネントについて説明し、Google Cloud を使用してこれらをデプロイする方法を説明します。

SAP Hybris アーキテクチャ コンポーネント

SAP Hybris プラットフォームには、以下のコンポーネントが含まれています。

  • Apachenginx などの静的コンテンツを配信し、動的リクエストを転送するウェブサーバー。
  • SAP Hybris コア アプリケーションを実行する Java アプリケーション サーバー。デフォルトでは、Apache Tomcat が使用されます。
  • Microsoft SQL Server などの顧客、購入、商品データを格納するデータベース サーバー。
  • Redis など、ページとセッションのキャッシュ用のキャッシング メカニズム(オプション)。
  • Apache Solr などの商品検索用の検索メカニズム(オプション)。

次の 2 つのステップで SAP Hybris をデプロイします。

  1. 上に列記されているアーキテクチャ コンポーネントをデプロイします。
  2. Java アプリケーション サーバーに SAP Hybris アプリケーションをデプロイして構成します。

次の図は、オプションの検索コンポーネントとキャッシュ コンポーネントを使用した SAP Hybris デプロイの高度なアーキテクチャ コンポーネントの例を示しています。

アプリケーション サーバーにフィードするウェブサーバーを示す SAP Hybris アーキテクチャ。キャッシュ、検索、およびデータベース サーバー コンポーネントがある

SAP Hybris のクラウド アーキテクチャの選択

SAP Hybris では、Google Cloud を使用した複数のデプロイ構成がサポートされています。デプロイや管理のニーズに応じて、Compute Engine または Google Kubernetes Engine(GKE)を使用して SAP Hybris のコア プラットフォームをデプロイできます。

  • SAP Hybris の設定と実行、Kubernetes の運用に関する経験がある場合は、GKE を使用することをおすすめします。
  • ベアメタルまたは仮想マシン(VM)インスタンスで SAP Hybris を使用した経験がある場合は、Compute Engine を使用することをおすすめします。

この資料では、どちらの構成についても説明しています。選択できるコンピューティング オプションについて詳しくは、コンピューティング オプションの選択をご覧ください。

この記事で説明する SAP Hybris のデプロイでは、データベース サーバーとして SQL Server on Compute Engine を使用しています。

GKE を使用して SAP Hybris をデプロイする

次の図は、オプションの検索コンポーネントとキャッシュコンポーネントを含む、GKE と Compute Engine 上の SAP Hybris デプロイのサンプルを示しています。

GKE を使用する SAP Hybris アーキテクチャ

このアーキテクチャでは、ウェブサーバー、アプリケーション サーバー、キャッシング コンポーネントが GKE にデプロイされます。データベース サーバーと検索コンポーネントは、Compute Engine にデプロイされます。

データベース サーバー コンポーネントは SQL Server です。Cloud Load Balancing により、着信リクエストは GKE ウェブサーバーとサービスに送信されます。

GKE を使用して SAP Hybris をデプロイするには、ウェブサーバー、コア SAP Hybris Java アプリケーション、キャッシング メカニズムを個別の Docker コンテナにパッケージ化します。次に、Kubernetes マニフェストを作成して、Docker コンテナをデプロイするポッドとサービスにマップします。

GKE を使用する場合は、単一のリージョン内の複数のゾーンにまたがる 2 つの Virtual Private Cloud サブネットを作成します。

  • 最初のサブネットワークには、ウェブサーバー用の GKE クラスタが含まれています。
  • 2 つ目のサブネットワークには、Java アプリケーション サーバーとキャッシング メカニズム用の GKE クラスタが含まれています。また、2 つ目のサブネットワークには、検索コンポーネントおよびデータベース コンポーネントでアプリケーション サーバーと検索システムおよびデータベース システム間のレイテンシを最小限に抑える Compute Engine インスタンスも含まれています。このサブネットワーク内の Compute Engine インスタンスでは、公開アクセスを禁止するために内部専用の IP アドレスが使用されます。ファイアウォール ルールを使用して、ウェブサーバーのサブネットワークからのアクセスのみを許可するようサブネットワークを構成します。この構成により、サブネットワーク内のコンポーネントのセキュリティが強化されます。

高可用構成の SAP Hybris のデプロイを構成するには、次の手順を行います。

  1. 単一リージョン内の複数のゾーンにまたがって GKE クラスタをデプロイします。詳しくは、マルチゾーン GKE クラスタの概要をご覧ください。
  2. 必要に応じて、GKE クラスタ オートスケーラーを使用するようにクラスタを構成します。オートスケーラーを使用すると、飽和状態のリソースや十分に使われていないリソースが自動的にサイズ変更されます。
  3. 高可用性のデータベースのデプロイメントを有効にするために、SQL Server の可用性グループを構成します。
  4. 検索コンポーネントを複数のゾーンにデプロイします。

Compute Engine を使用した SAP Hybris のデプロイ

次の図は、GKE の代わりに、オプションの検索コンポーネントとキャッシュ コンポーネントを含む、Compute Engine 上の SAP Hybris デプロイのサンプルを示しています。

Compute Engine を使用する SAP Hybris アーキテクチャ

このアーキテクチャでは、ウェブサーバー、アプリケーション サーバー、データベース サーバー、キャッシュ、検索コンポーネントが Compute Engine にすべてデプロイされます。データベース サーバー コンポーネントは SQL Server です。Cloud Load Balancing により、受信リクエストが Compute Engine のウェブサーバー インスタンスに送信されます。

GKE の代わりに Compute Engine を使用する場合は、1 つのリージョン内の複数のゾーンにまたがる 2 つの VPC サブネットワークを作成します。

  • 最初のサブネットワークには、ウェブサーバー用の Compute Engine インスタンスが含まれています。
  • 2 つ目のサブネットワークには、アプリケーション サーバー、データベース サーバー、キャッシュ、検索コンポーネント用の Compute Engine インスタンスが含まれています。このサブネットワーク内のインスタンスでは、公開アクセスを禁止するために内部専用の IP アドレスが使用されます。ファイアウォール ルールを使用して、最初のサブネットワークからのアクセスのみを許可するようサブネットワークを構成します。この構成により、コンポーネントのセキュリティが強化されます。

高可用構成の SAP Hybris のデプロイを構成するには、次の手順を行います。

  • 単一のリージョン内の複数のゾーンに Compute Engine インスタンスをデプロイします。
  • 簡単に管理できるよう、ウェブサーバーとアプリケーション サーバーのインスタンスをマネージド インスタンス グループ内にデプロイします。
  • アプリケーション サーバーの Compute Engine インスタンスとして、同じリージョンの複数のゾーンにキャッシング コンポーネントと検索コンポーネントをデプロイします。
  • 高可用性のデータベースのデプロイメントを有効にするために、SQL Server の可用性グループを構成します。

次のステップ