Support: 1-800-961-4454
1-800-961-2888

Building An Online eCommerce Store? Check Out These New Reference Architectures

2

For retailers, your online store is the window to the world. It needs to stand up to daily traffic and the unexpected spikes, and offer your customers a safe and secure place to shop on the web. It’s not always easy. We’re here to help.

Based on the knowledge and expertise we’ve gained serving some of the top retailers in the US, we’ve launched four new reference architectures for eCommerce solutions. These reference architectures offer you a choice in how you build your online store and are available in for four different levels: Cost-effective, Intermediate, Advanced and Premier. These architectures provide retailers solutions templates for building online stores. Here, we will explore various design options and the Rackspace products that are used in building these solution templates. This blog post will be followed by a series of blogs that will provide detail information about each of these reference architectures.

Use Cases
There are numerous possible use cases for our new reference architectures. We’ve identified the main two as:

  • Hosting online eCommerce store on a secure, highly available infrastructure that supports faster loading of web pages
  • Supporting bursting capability for handing load spikes generated during holiday peaks

Factors To Consider
There are several factors that can influence your choice of a reference architecture. We have identified these as the main ones:

1. Storage of credit card data

The first important factor that dictates choice of a reference architecture is where you want to store credit card data.

Options available for storage
You can either store credit card data in a Rackspace data center or use a third party payment gateway to store credit card information.

How do you decide which option is right for you?
A rule of thumb that will influence this decision is a comparison of costs associated with using a third-party payment gateway and costs associated with storing credit card information in data center.  If you process a smaller number of credit card transactions, you might find that using a third party payment gateway is economical and the best option, provided if it fits within your company policy. If credit card transaction volume is very high, you may find it economical to store credit card information in a Rackspace data center and undergo PCI compliance audits. Your company policy and credit card transactions volume can help determine how you choose to store credit card data.

2. Catalog display logic and shopping cart logic

Typically, catalog display logic translates to the “web” layer and shopping cart logic translates to the “app” layer.

Options available for design
If you keep catalog display logic and shopping cart logic together on the same server, that is called a two-tier architecture. The first tier is composed of a combined web and app tier. The second tier is composed of a database layer. If you choose to keep catalog display logic and shopping cart logic on different servers, that is a three-tier architecture. The web layer is the first tier, the app layer is the second and the database layer is the third.

How to choose between a two-tier or a three-tier architecture?
Based on our experience, we find our customers typically start with a two-tier architecture. As business grows, they start separating two layers so that each tier can scale independently.  Your scaling needs for catalog display and shopping cart will help you decide between a two-tier and a three-tier reference architecture.

Available Rackspace products
Your display logic and shopping cart logic can either run on Cloud Servers or Dedicated servers.

With Cloud Servers, you can get powerful Linux and Windows servers in minutes. Cloud Servers is both persistent and highly elastic. You get the best of both worlds since it looks and feels like a traditional server but is on-demand in the cloud.

Dedicated servers, on the other hand, provide a single-tenant environment for your exclusive usage.

How to choose between Cloud Servers and Dedicated servers?
A rule of thumb is to choose a Cloud Server whenever possible. However, there are certain situations those warrant a Dedicated server. If you want to store credit card data in a Rackspace data center, you have to use a Dedicated server. If you prefer a single-tenant environment, as dictated by your company policy, then you also have to use a Dedicated server.

3. Database storage

The way you store data and retrieve data significantly impacts time it takes to complete online transactions.

Options available for database technology
At Rackspace, we provide you three choices for database technology:

  1. You can use Cloud Databases, the high performance MySQL database on the cloud. The Cloud Databases architecture is built for high and consistent performance, with container-based virtualization instead of traditional hardware virtualization, high performance SAN storage and a dedicated storage network.
  2. The second choice is a database installed on a Cloud Server connected to Cloud Block Storage. You can enhance the network security of your Cloud Servers by running your shopping cart and database servers on an isolated Cloud Network to filter illegitimate traffic from catalog display. Cloud Block Storage attached to a Cloud Server can provide extra space that your database will require. Using Cloud Block Storage you can get dependable performance for your I/O-intensive applications. Cloud Networks provides customers with the ability to create isolated, layer 2 (L2) networks within the cloud. With the click of a button, you can now create software-defined networks that look like traditional networks in both architecture and function.
  3. The third choice is running a database of your choice on a Dedicated server.

Which database technology option is the best for you?
The type of database and volume of I/O transactions will dictate which database technology is right for you.  Cloud Databases is the best option if you want to use a MySQL database and want Rackspace to manage it for you. If you want to use a database of your choice that supports virtual environments then you can run your own database on Cloud Server. If your database of choice doesn’t support virtualization, or for the highest I/O performance, we recommend running your database on a Dedicated server.  It is difficult to quantify I/O criterion, as it greatly depends on your application logic and varies from environment to environment.

The following flow chart (click to enlarge) summarizes how your business requirements dictate your final choice of the reference architecture:

Stay tuned for the next blog post, in which we will explore the cost-effective reference architecture and its components in greater depth.

About the Author

This is a post written and contributed by Mahesh Gandhe.

Mahesh Gandhe is an experienced technologist with over 12 years of experience in enterprise software. In his current role, he is responsible for solution management initiatives at Rackspace inclusive of defining product portfolio and go-to-market strategy for Rackspace Solutions for eCommerce. Outside of Rackspace, Mahesh runs one marathon a year and plays the Indian percussion instrument “Tabla.” Follow him on Twitter @maheshgandhe


More
  • http://shopnix.in Shopnix

    This approach seems to be separating the shopping experience into 2 servers -
    Search & discover – on a cloud server
    Payments – on a dedicated server

    Wouldn’t that mean that the customer info now needs to be replicated across the 2? Or are you suggesting that there needs to be a common DB?

    • http://www.rackspace.com Mahesh Gandhe

      Thank you very much for taking out time to read our blog and post this question.

      Before I answer your question, I want to clarify following:
      In your question you mention that we are recommending to use search/discovery on cloud and payment in dedicated. But if you check out new architectures, you will find that the first three reference architectures (cost effective, intermediate and advanced) use cloud for both web and app layer.
      In these architectures we are recommending to use a third party payment gateway option for storing credit card information.

      Here is answer for your original question:
      Well both options (central DB and DB replica) are perfectly valid. The final choice depends on eCommerce platform that you use or your i/o needs for “customerInfo” database from web and app layer.
      If you are expecting high i/o from BOTH layers, it’s advisable to go for DB replica option.

      On the contrary if your I/Os from web layer to “customerInfo” database are low -the most common scenario- central DB option is suitable for you.

Racker Powered
©2014 Rackspace, US Inc.