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

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

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 HANA を使用した SAP Hybris デプロイの大まかなコンポーネント アーキテクチャの例を示しています。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...