How Do You Design a Scalable SAP Hybris Architecture on Amazon Web Services?

Are you planning to migrate your SAP Hybris implementation to Amazon Web Services (AWS)? Many companies are considering, or have made the decision to migrate their SAP Hybris implementation to AWS. This article provides a cogent starting point for deploying Hybris to AWS.

Several months ago, I worked on a Hybris-AWS migration project. At the beginning of the project, I spent a considerable amount of time researching Hybris on AWS best practices. Your first question might be,  "What does a scalable Hybris architecture on Amazon Web Services even look like?" The following diagram depicts a simple -- yet scalable --, four node Hybris implementation on the AWS platform.

Scalable SAP Hybris Architecture on AWS

Let's review the architectural diagram layer by AWS layer.

AWS Region

An AWS Region is a collection of AWS Availability Zones (analogous to data centers) in a particular region of the World. Many AWS customers select the AWS Region closest to them for obvious reasons, but it's also important to consider the AWS Region that's in close proximity to the end-users, or the number of Availability Zones in the AWS Region.

AWS Availability Zones (AZ)

In AWS, it's critical to implement your Hybris architecture on at least two Availability Zones, which increases your system's up-time potential as your Hybris implementation is hosted on two different physical locations within the AWS ecosystem.  This is widely considered a best practice, and should be strongly considered for your Hybris implementation on AWS.

AWS Virtual Private Cloud (VPC)

AWS VPC is your virtual network on AWS. A VPC should be divided into public and private subnets. The Hybris storefront located in the public subnet. The Backoffice application located in the private subnet, inaccessible to the public Internet.

Auto Scaling

The Hybris architecture represented in the above diagram will scale well both horizontally and vertically. As your Website traffic increases, adding Hybris nodes is relatively straightforward with this Hybris architecture. You may even decide to earmark additional standby nodes to automatically "go online" as certain memory or CPU thresholds are detected.

Conclusion

A robust SAP Hybris architecture on AWS should take the following aspects into consideration:

  1. Storefront and Backoffice nodes have different routing and security requirements.  The storefront is Internet-facing, and the Backoffice is for internal-use only. Spend time understanding how private and public subnets impact Hybris's architecture on AWS.
  2. Every Hybris implementation should have fault-tolerance as part of its go-live strategy.  As a result, workload distribution across multiple Availability Zones is an absolute requirement.
  3. Leveraging Amazon RDS has been successful for many Hybris implementations on AWS, and works very well with Hybris OOTB.
  4. Place the Apache Solr nodes behind AWS's Elastic Load Balancer to improve the search engine's scalability and availability .

 

 

Marc Raygoza

Marc is the Founder of HybrisArchitect.com.
He enjoys helping others learn more about SAP Hybris Commerce.
Marc has held the role of Hybris Architect at Exemplis and Nasty Gal. He is a long-time Java/Spring developer. Marc holds an M.S. Software Engineering from Carnegie Mellon University and a B.S. in Accountancy from California State University, Fresno. He can be reached at: info@hybrisarchitect.com

You may also like...

Popular Posts

10 Comments

  1. In your example when you say 4 node Hybris. Did you mean 4 cores as Hybris is licensing by cores ?

    1. Hi Vikas,

      Thank you for your question.

      Yes, that's correct. The 4 cores (nodes) depicted in this diagram are analogous to licensing 4 Hybris cores. The thought process behind 4 cores is to allow failover for the (2) storefront nodes, and (2) the backoffice nodes.

      I hope this helps.
      -Marc

  2. How about licensing Hybris? If you really want to benefit from the cloud features/scalability/auto-scaling, you would have some dynamic Hybris app servers that are started and shut down on demand. Would you have to license all potential cores, even though you might only need all of them in peak times (thinking Black Friday or similar sales)? Or is there a dynamic licensing as well?

    1. Katja,

      Thank you for your question.

      As far as I know, SAP doesn't offer dynamic licensing for Hybris Commerce. That said, I would discuss this topic with your SAP account manager. I also will investigate your question more thoroughly this week.

      Regards,
      Marc

  3. Excellent article. Keep writing such kind of information on your page.

    Im really impressed by your site.
    Hey there, You've done a great job. I will certainly digg it and individually suggest to my friends.
    I'm sure they will be benefited from this web site.

  4. Marc,

    Can you explain what the role of EFS is in this architecture? EFS generally has a very specific use case and I'd be curious what you're storing on EFS vs EBS?

    1. Paul,

      Thank you for your comment.

      With Hybris Commerce running on AWS, EFS is useful to store media files (images and videos), and other resource files important to Hybris. If I am not mistaken, EBS is the ideal persistent storage for databases.
      I hope this helps.

      -Marc

      1. Marc,

        Why not store images and videos on S3 and then cache them on a CDN (Akamai or CloudFront) which is considered standard (best) practice in an AWS environment.

        Paul

        1. Paul,

          Thank you again for the comment. Really appreciate your feedback.

          With this article, the objective was to provide an architectural diagram of a four (2 storefront/2 backoffice) Hybris node environment. That said, I am planning to create a new article that illustrates how to leverage S3 for media storage and a workflow to use CloudFront as the CDN. I have plenty of lessons learned to share using CF with Hybris, and hopefully this information will help folks with their future Hybris implementations.

          Regards,
          Marc

  5. Hi Marc,

    I have a couple of questions:
    1. Do you make use of any autoscaling to scale horizontally/vertically, or do would you scale manually.
    2. Do you have an external load balancers for your storefront?
    3. Have you gotten around to updating with making use of AWS CDN?

    Thanks,
    David

Leave a Reply

Your email address will not be published. Required fields are marked *