The trend in consumer behaviour has shifted from traditional high street shopping to mainly online. It’s clear in the success of the eCommerce giants like Amazon and eBay, but the size is not everything. Smaller businesses also have amazing opportunities during seasonal sales in helping customers make quick and easy purchases.
Seasonal holidays, like Black Friday especially, bring a rush of shoppers. They are looking for the best prices and sellers are racing to catch their share of the business. Spikes in customer traffic naturally offer an immense opportunity for online businesses to increase their sales. However, the sales might fall short if your shopfront is not able to handle the demand. Therefore, it’s important to prepare appropriately for the expected increase in traffic. Here we take a look at how you can get ready for seasonal sales by optimising your eCommerce site on the cloud.
Identifying seasonal spikes
An important part of improving your readiness for seasonal sales is in having the knowledge on what to expect. One of the best ways for understanding your customer behaviour is by analysing your organic traffic. A great option for gaining a good overview of your traffic is using Google Analytics. It has quickly gained market share and become the most widely used web analytics service.
Regardless of your chosen tools, you can view the statistics of your customer visits. Using the analytics, you should be able to identify trends in traffic over the course of months to hours. The differences in the time scales will help you differentiate seasonal spikes vs. micro-trends. The former of which consist of slower fluctuations but larger overall traffic spikes such as Black Friday and Christmas sales.
Once you’ve identified reoccurring seasonal spikes, you should begin planning on how to make the most of the increased traffic to your web store.
Scaling for demand
Depending on the size of the seasonal spikes in traffic to your web store, your web server could easily get bogged down due to a lack of resources to match the demand. Understandably, not being able to reliably serve your customers during high traffic volumes can result in missed sales. Therefore it’s important to make sure your storefront will not get overwhelmed by seasonal traffic spikes. A straightforward way to do this is increasing the resources available to your cloud servers and, by extent, to your eCommerce site.
However, additional server resources will increase your running costs. Employing the same capacity outside seasonal spikes would not be financially sensible. Enter server scaling. Scaling for cloud servers is a process of increasing or decreasing the allocated resources.
The main driving force in web server performance comes down to three factors:
- Processing power afforded by the number of allocated CPU cores
- The amount of usable system memory or RAM
- The available network bandwidth
Most popular cloud providers offer enough network capacity even in the cheapest tier packages for it to be a concern, but the system resources need to be selected by the user.
Resource scaling can be done in two ways: vertically by changing the system resources allocated to the cloud server running your storefront, or horizontally by adding or removing cloud servers that together share the load.
Vertical scaling requires the cloud server to be temporarily shut down during the operation. This would, of course, cause downtime if it’s the sole host for your web store. In comparison, scaling horizontally allows adding resources without interruption to your services by replicating the existing configuration. On UpCloud, you can easily clone any cloud server in whole to quickly set up replicas. Commonly, horizontal scaling also requires a load balancer which then needs to be made aware of the new host.
The advantage of cloud servers is the flexibility you have to control the available resources in both vertically and horizontally. In combination, vertical and horizontal scaling allow highly customisable resource configuration. If configured correctly, it can react to changes in demand with a moments notice.
Being able to scale for demand is a big step towards a smarter way of hosting your eCommerce site. Yet, knowing how much to scale is equally important. To figure out your web store’s capacity for concurrent visitors, you will need to monitor and load test the performance.
Most Linux distributions come with a built-in system process monitor tool. One such option is top which provides a good overview of the current load on any single cloud server. It displays useful information such as CPU and Memory usage, as well as which processes are using the resources. Another option is to use specialised monitoring software such as Zabbix which is a free open source solution to just about all your monitoring needs.
Once you have a good understanding of your resources and usage, the next step would then be figuring out how far it is going to take you during heavy traffic. However, instead of waiting for the next organic spike in visitors, you can skip ahead and simulate the conditions with a load testing tool such as Apache JMeter, open-source software designed to load test functional behaviour and measure performance. It works well for example for load testing the Magento eCommerce platform.
Optimising page load time
Using the methods outlined above, you have the groundwork to begin preparing your web store for increased traffic. However, there are other factors you should also optimise for such as your website’s page load times. While maybe not initially obvious, a difference of just 1 second in customer experience could cause them to leave.
Page load times are vital, as according to a report on Ecommerce Page Speed & Web Performance, even just a 3-second page load delay could cause your customers to leave your website. Increasing load speeds could directly increase your sales if your customers have a pleasant time browsing and searching for your offerings on a responsive web site.
So, what can you do to optimise your website? A number of factors such as the available resources, concurrent users, network speeds, web configuration and page size can affect the load times. One way to gain insight into how fast your website gets loaded by visitors around the world is to take advantage of online testing tools, for example, Pingdom or GTmetrix. Both of these are simple to use and give actionable information on how you could optimise your page load times.
In addition, certain services such as a Content Delivery Network, or CDN, can help you further reduce page load times. These work simply by bringing your content closer to your customers using a network of regional servers. Although the information on the internet travels extremely quickly, the geographical distance between the website and the visitor still creates a large portion of page load time. By hosting the static content on your website closer to your customers can drastically page load times to remote visitors.
Ensuring high availability
It’s likely needless to say but a site failure is not an option right in the middle of seasonal sales. For example, if in your push for seasonal marketing, you’ve budgeted around $1-$2 for pay-per-click, you could lose thousands of that investment if your website goes down even for an hour. Furthermore, it would be difficult to compensate for the lost peak sales revenue from that one hour, which could equate to multiple hours worth of non-seasonal sales.
In ensuring operations, redundancy is the key. By hosting your eCommerce site on the cloud, you already have the backing and technical expertise of your infrastructure provider. At UpCloud, every operationally critical component is configured on the principle of N+1 to eliminate all single points of failure. However, you can further build upon this by configuring your cloud servers with high availability in mind.
One of the best ways of improving the redundancy of your website is configuring a load balancer to evenly distribute your traffic across multiple backend servers. Yet a load balancer alone would still leave a single point of failure. This is where a floating IP comes in. Floating IPs are transferable addresses which allow you to create redundancy even at the load balancer level. In case of a failure on one load balancer, a floating IP can direct all traffic to a backup without any downtime or loss of business.
Additional things to consider
Gaining the customers’ trust is a large step towards earning their business and one of the best ways to do so is security. Make sure your SSL certificates are up to date or even configure them to be automatically renewed using the free certificates from Let’s Encrypt.
Page load times also outside seasonal sales can be very important and even affect your ranking in search results. Discoverability in organic search is already difficult in highly contested search terms, so don’t waste the efforts you’ve put into search engine optimisation by having your site rank low due to performance issues.