Black Friday and Cyber Monday are right around the corner, but you’re not sure if your online store can handle the expected peak in traffic.
If you’ve done your homework you know that just last year about 136 million Americans spent over $67.6 billion during Black Friday weekend. No big deal.
Plus, Cyber Monday has been notorious for having some of the worst service failures for shoppers, as dozens of major retailers experienced downtime—due to overwhelming global traffic. A study on the subject, compiled by Joyent and New Relic, showed that 86% of companies experienced one or more episodes of downtime during the holiday season.
In fact, 72% of frustrated customers will abandon your site for a competitor’s, leading to huge loss in revenue and reputation – and that’s about the last thing you want to happen.
On the flip side, you’re probably not the only one dreading this disastrous scenario.
As history shows, many other big eCommerce sites couldn’t handle the pressure, so you’re in good company. So what should you do?
5 Ways to Ensure Your Site is Ready for Holiday Traffic
We’ve worked with many top retailers, and have hundreds of Fortune 1000 customers using our highly scalable in-memory computing platform. As part of serving these retailers through professional services, field engineering, and on-site holiday support, we’ve gathered a vast amount of expertise and best practices. In the past, we’ve been able to help achieve 100% uptime and 139% increase in holiday online sales. Based on that, below are the top 5 recommendations a retailer should keep in mind before the web traffic onslaught of Black Friday and Cyber Monday:
1. Plan your scalability units, architect and partition to scale those horizontally
An eCommerce system’s scalability is limited when it comes to monolithic database stores for inventory, product, and orders. When planning the architecture of your eCommerce back-end services, you should consider partitioning your data and business logic across an in-memory data grid to reflect your horizontal eCommerce scalability axis: product page views per session, inventory lookups and allocations per user group, product lookups per category….etc. Scaling to higher traffic across channels can be accomplished by adding more data grid partitions.
2. Minimize or eliminate contention during lookup, orders, and wherever else
Building a highly scalable system for low latency starts by eliminating synchronous calls as much as possible, while embracing asynchrony at I/O boundaries. Synchronous calls lead to excessive thread creation that significantly degrade system performance during heavy bursts of traffic. Push your database to the background by introducing a partitioned in-memory data grid as the system of record while asynchronously persisting to the database. In an eCommerce system, this decouples the memory I/O latency of an inventory allocation call from the underlying database disk I/O latency.
3. Avoid sticky sessions as much as possible
Keeping session affinity at the application server level guarantees that the system will not be able to scale under extreme loads. The web-tier of an eCommerce system should be able to call any application server and have both its read-type (product lookup) and write-type (shopping cart allocation) operations available consistently from any application server. With us, a shopping cart session (HTTP Session) is delegated through servlet facade to an in-memory data grid (distributed cache) that can be accessible from any application server, thereby eliminating session stickiness.
4. Consider high availability at infrastructure tiers, strive for higher across data centers
In the words of Netflix’s Adrian Cockroft: “scale breaks hardware, speed breaks software; speed at scale breaks everything”.
This is all too common, especially during extreme load events like Black Friday or Cyber Monday. One should plan for fault tolerance and redundancy both at the data shard level (JVM-level redundancy), application server level (machine-level redundancy), availability zone (hypervisor/network subnet), and finally at the data center level. Retailers utilizing GigaSpaces XAP enjoy the flexibility of spreading their redundancy across machines, hypervisors, and clouds/data centers. The diagram above outlines common high availability approaches with XAP.
5. Collaborate with your vendor
Surviving Black Friday is not a one-team show. It is in your vendor’s best interest that you experience a positive holiday event, so rely on them to get it done. The days of silo’d development, operations, and vendor support teams are nearing their end. Every retailer working with GigaSpaces utilizes an on-site team of site reliability field engineers that monitor the system using state of the art DevOps automation and monitoring tools to proactively eliminate bottlenecks and outages during peak volume events.
These five steps are the secret sauce behind our customers’ holiday season success. Year after year, XAP users pass the holiday season with flying colors, maintaining 100% uptime, avoiding system glitches and keeping top speed site performance through peak loads. In 2014, GigaSpaces customers experienced a 139% increase in sales thanks in large part to XAP in-memory computing technology and GigaSpaces staff providing support prior to and throughout each holiday shopping event.
In our Black Friday/Cyber Monday post-mortem post, we’ll provide you with guided steps to ensure the fastest delivery in 2017.