Is your e commerce platform truly scalable?

Written by
Published on Dec. 24, 2014
Many of our customers have asked us: “How do I know my store can scale?” we decided to answer by breaking down the components a system must have in order to be considered truly scalable.
 
Elastic load balancing
Elastic load balancing is the ability to add and remove load balancers depending on incoming traffic. Load balancers regulate the flow of requests between web servers and as traffic increases to your store, more load balancers are needed to insure traffic is directed efficiently between servers. Sensitive information is encrypted using SSL certificates installed on the load balancers and application pages using HTTPS are served quicker when multiple load balancers are handling secure requests.
 
Multiple web servers
When your store is idle or under light load, it should be able to run on a single web server. As traffic spikes, more web servers can be activated and the store can run on hundreds or even thousands of web servers. The limits of servers should be up to the cloud your store is installed on. The ShopSnap cloud can scale up to thousands of servers.
 
CDN for images
CDNs or Content Delivery Networks are a way for your static files to be served from a server that is geographically close to your customers. CDNs consist of thousands of servers in multiple data centers around the world. As you upload graphics files or product images to your store, they are distributed between all CDN servers in order to speed up page loads for graphic heavy pages and customers that are further away from the main cloud can still enjoy fast loading speeds. 
 
Propagated protected user files
User protected files are files that require some sort of security. They cannot be distributed via a CDN and users must log on in order to see and change them. As users add or change files, the files must be propagated to all web servers your store is using so that they can be accessed by users being redirected from load balancers to other web servers.
 
Distributed cache
A cache system consists of the most accessed objects, for example, the products on the front page of your store are cached. A distributed cache is a cache system shared between all the web servers of your store. When a cache is local, you might have duplicate entries in each web server, increasing the amount of memory each of your servers consumes. When a cache is distributed, all web servers enjoy the benefits of accessing the same cached data, stored in dedicated cache servers.
 
Distributed queues for regulated transactions
We had a customer that had their store featured on the Oprah Winfrey show. Sales spiked to hundreds per second. Each new sale requires a chain flow of events wrapped in a transaction. Sending emails to the customer and store owner, charging credit cards, inserting records into the database, deducting inventory and so on. Each transaction can take up to five seconds to complete. With only five web servers running (and doing a great job at keeping the store fast) we needed a background system that can regulate transactions. You can read more about it in the next bullet, however, regulating the rate of transaction processing is an array of distributed queues installed on our cloud. The queues store transaction requests and allow our system to process transactions at a fixed speed.  
 
Background services for long running transactions
We use the Elastify framework in order to process long running transactions such as sending emails, importing data and so on. This allows us to perform heavy load tasks without effecting your web servers. We scale the number of processing servers up or down according to the workload sent from your store.
 
Failover databases
When databases go offline, your store must be able to keep running from a backup database. This system requires the use of a mirror stand by database that is always synchronized and is ready to take over when the main database fails. When the system is restored to normal, the main database is synchronized with the data it was missing during the outage.
 
The ability to perform seamlessly through light and heavy traffic
It’s important your store is able to handle the transition between light and heavy load in a seamless manner. Users should not be effected. Sessions should be kept alive and new users should have a fast and enjoyable experience. Our platform provides you with an elastic transition that goes unnoticed by your customers.
 
Conclusion
 
Ask yourself: Can my store truly scale? Can it handle ten or ten thousands of customers per day at the same speed and efficiency?
Here at ShopSnap we are technology people. We are UX designers, software, cloud and database engineers. We spend our days and nights thinking about new ways to make our product cutting edge and be the best it can be.
 
A ShopSnap platform store is a truly scalable solution.
 
[ibimage==34514==Large==none==self==ibimage_align-center]
 
Explore Job Matches.