Architecture: SAP Hybris Deployment

This article describes an architecture for deploying SAP Hybris on Google Cloud Platform (GCP). SAP Hybris is a commerce platform designed for scalability, high traffic, and high order volumes. The SAP Hybris platform supports business-to-business (B2B) and business-to-consumer (B2C) workloads. This article describes the SAP Hybris architectural components for B2B and B2C deployments and explains how to deploy them using GCP.

SAP Hybris component architecture

The SAP Hybris platform contains the following components:

  • A web server for serving static content and directing dynamic requests, such as Apache or nginx.
  • A Java application server for running the SAP Hybris core application. By default, SAP Hybris uses Apache Tomcat.
  • A database server for storing customer, purchase, and product data, such as Microsoft SQL Server.
  • An optional caching mechanism for page and session caching, such as Redis.
  • An optional search mechanism for product search, such as Apache Solr.

You deploy SAP Hybris in two steps:

  1. Deploy the architectural components described in the preceding list.
  2. Deploy and configure the SAP Hybris application in the Java application server.

The following diagram shows a sample high-level component architecture for a SAP Hybris deployment, including the optional search and cache components.

SAP Hybris architecture showing a web server feeding to App Server, which in turn has Cache, Search, and Database Server components

Choosing a cloud architecture for SAP Hybris

SAP Hybris supports multiple deployment configurations using GCP. Depending on your deployment and management needs, you can deploy the core SAP Hybris platform using Compute Engine or Kubernetes Engine:

  • If you have experience with configuring and running SAP Hybris and operating Kubernetes, Kubernetes Engine is a good choice.
  • If you have experience with running SAP Hybris on bare metal or virtual machine (VM) instances, Compute Engine is a good alternative.

This article describes both configurations. For more information on which computing option to choose, see Choosing a Computing Option.

The SAP Hybris deployment described in this article uses SQL Server on Compute Engine as the database server.

Deploying SAP Hybris using Kubernetes Engine

The following diagram shows a sample SAP Hybris deployment on Kubernetes Engine and Compute Engine, including the optional search and cache components.

SAP Hybris architecture based on using Kubernetes Engine

In this architecture, the web server, app server, and caching components are deployed on Kubernetes Engine. The database server and search components are deployed on Compute Engine.

The database server component is SQL Server. Cloud Load Balancing directs incoming requests to the Kubernetes Engine web server pods and services.

To deploy SAP Hybris using Kubernetes Engine, you package the web server, the core SAP Hybris Java application, and the caching mechanism into individual Docker containers. Next, you create Kubernetes manifests to map the Docker containers to the pods and services that you will deploy.

When you use Kubernetes Engine, you create two Virtual Private Cloud (VPC) subnetworks that span multiple zones within a single region:

  • The first subnetwork contains a Kubernetes Engine cluster for the web servers.
  • The second subnetwork contains a Kubernetes Engine cluster for the Java application servers and for the caching mechanism. The second subnetwork also contains the Compute Engine instances for the search and database components to minimize latency between the application servers and the search and database systems. The Compute Engine instances in this subnetwork use internal-only IP addresses to prevent public access. You use firewall rules to configure the subnetwork to allow access only from the web server subnetwork. This configuration adds an additional layer of security to the components in this subnetwork.

You can configure your SAP Hybris deployment for high availability by following these steps:

  1. Deploy the Kubernetes Engine cluster across multiple zones within a single region. For more information, see the overview of multi-zone Kubernetes Engine clusters.
  2. Optionally, configure the cluster to use the Kubernetes Engine cluster autoscaler. The autoscaler automatically resizes based on saturated or underutilized resources.
  3. Configure SQL Server Availability Groups to enable highly available database deployments.
  4. Deploy the search component across multiple zones.

Deploying SAP Hybris using Compute Engine

The following diagram shows a sample SAP Hybris deployment on Compute Engine, including the optional search and cache components, instead of on Kubernetes Engine.

SAP Hybris architecture based on using Compute Engine

In this architecture, the web server, application server, database server, cache, and search components are all deployed on Compute Engine. The database server component is SQL Server. Cloud Load Balancing directs incoming requests to the Compute Engine web server instances.

When you use Compute Engine instead of Kubernetes Engine, you create two VPC subnetworks that span multiple zones within a single region:

  • The first subnetwork contains the Compute Engine instances for the web servers.
  • The second subnetwork contains the Compute Engine instances for the application servers, database servers, cache, and search components. The instances in this subnetwork use internal-only IP addresses to prevent public access. You use firewall rules to configure the subnetwork to allow access only from the first subnetwork. This configuration adds an additional layer of security for those components.

You can configure your SAP Hybris deployment for high availability by following these steps:

  • Deploy Compute Engine instances across multiple zones within a single region.
  • Deploy the web server and application server instances inside a managed instance group to simplify management.
  • Deploy the caching and search components across multiple zones within the same region as the application server Compute Engine instances.
  • Configure SQL Server Availability Groups to enable highly available database deployments.

What's next

Vai šī lapa bija noderīga? Informējiet mūs:

Nosūtīt atsauksmi par tēmu...