4 Ways Amazon Could Have Prevented the Most "Un-Prime" Day
In an anti-climactic series of events, Amazon Prime Day started yesterday. The online retailer’s self-proclaimed biggest sale day of the year started with some hiccups, including a loop of ‘Prime Day Deals’, the inability to check out, and lots (lots) of dogs.
As much as I love dogs, I couldn’t help but feel (somewhat irrationally) frustrated with Amazon because
I couldn’t shop online all day they know how important online performance is. As an online retailer that built their success off of user experience and convenience, they know very well that the ‘magic formula’ to success is delivering quality and performance. I couldn’t help but think ‘You had ONE JOB DAY,’ and even though this is not necessarily true, there are plenty of other sales days during the year in which their website needs to be available, fast, and functioning properly, Prime Day is literally their day to provide an impeccable end user experience. I wasn’t alone in my frustration either:
The worst part about the Prime Day web performance is that it could have been prevented. 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.
Lessons learned from Prime Day:
Don’t sleep on synthetic monitoring – the main benefit of synthetic monitoring is the ability to catch issues before real users encounter the problem. Whether its performance deviation, functionality problems or an full on outage, you will be the first to know when something happens.
Eat Sleep Test Repeat – with testing cycles becoming shorter and shorter, automation is key here. 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, and 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. Failures don’t determine success, your ability to react to failures is what does. So 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, build contextual error codes and alerts that help pinpoint where issues are coming from.
Performance directly impacts brand perception and can impact your bottom line. Prioritizing performance doesn’t have to be impossible. SmartBear helps teams all over the world improve and maintain their SDLC so they can deliver quality consistently, whether it's with code review, standardization, testing practices, or monitoring. As always, we're here to help, and if you need a hand, let us know.