It’s no surprise that shoppers get excited to fill their carts, check out, and have exactly what they want delivered to their doorstep — all for a fraction of the normal cost and in less than two days. One of the most hyped sales events of the year, Amazon Prime Day, is the retailer's biggest sale day and, theoretically, a shopper’s dream. In fact, Amazon reported that this week's Prime Day was its biggest sales day in the company's history.
However, Prime Day's user experience is a different story. The retailer’s self-proclaimed biggest sale day of the year started with some hiccups, including an infinite loop of “Prime Day Deals” landing pages, the inability to check out, and lots (lots) of dogs.
Amazon built its success off of user experience and convenience, so it’s not a secret that the retailer knows very well that the “magic formula” to digital success is delivering quality and performance. Even though there are plenty of other sales events during the year in which Amazon's website needs to be available, fast and functioning properly, Prime Day is literally its day to provide an impeccable end user experience. This year, Amazon fell flat for the first few hours of the 36-hour event.
Clearly, Amazon shoppers weren't pleased:
The worst part about Amazon's Prime Day web performance is that it could have been prevented. That's not to say that failures don’t happen and pristine code is the only code that makes it to production, BUT there are ways that you can proactively mitigate problems in production and prime your delivery pipeline so you’re able to catch issues before you deploy. Retailers all over the world can benefit from the lessons learned from Amazon’s outage. I’ve compiled four takeaways from Prime Day 2018 to help you avoid your own #PrimeDayFail:
- Don’t sleep on synthetic monitoring. The primary benefit of synthetic monitoring is the ability to catch issues before real users encounter the problem. Whether its performance deviation, functionality problems or a full on outage, you'll be the first to know when something happens.
- Eat, sleep, test, repeat. With testing cycles becoming shorter and shorter, automation is key. Automate tests and run a variety of different tests to make sure that everything is functioning, your sites can handle the load, and that different browsers don’t impact your site behavior. Also, test for any predicable failures.
- Test and monitor. Most teams might scoff at this idea, but we’ve heard it from our customers that testing and monitoring in parallel (in both pre-production environments and in production) is key to immaculate performance. You can catch issues earlier, understand your site’s behavior in different environments, and push to production with confidence.
- Build for recovery. Failures happen. They don’t determine success; your ability to react to failures is what does. Therefore, be able to react and fix quickly by building for recovery. Reuse test scripts to create monitors so you can debug and reproduce problems faster, reuse monitor scripts in test environments, monitor key user journeys, and build contextual error codes and alerts that help pinpoint where issues are coming from.
Prioritizing performance doesn’t have to be impossible.
Saoirse Hinksmon is the digital content marketing manager at SmartBear, a provider of software quality tools.