How to Scale an E-Commerce Business
Compared with a content-only website, running an e-commerce site is tricky. You've got to track what's in someone's cart, you have to handle orders, and there's just generally more functionality going on that's harder to manage on the server side, particularly when it comes to traffic spikes you might get at certain times, such as on Black Friday, during holidays, or after a big ad is aired.
That last scenario consumed the attention of Chicago-based website development and hosting company Americaneagle.com for the six months leading up to the Super Bowl last month. That's because one of its long-time clients, automotive-accessory retailer WeatherTech, decided in August to do a Super Bowl ad, meaning Americaneagle.com had a slew of new things to think about.
Fast forward to the day after the big game. While everyone was consumed with counting hashtags and voting on which ad was the cleverest, Americaneagle.com CTO Ryan McElrath was eyeing other metrics, such as how well WeatherTech's site performed compared to big brands such as Coca-Cola, Doritos, and all the automotive companies.
McElrath knew things went well--he had a team camped out in a war room all weekend glued to status monitors for not only WeatherTech's site but also the websites of MetLife Stadium and the Pro Football Hall of Fame, also Americaneagle.com clients. But it wasn't until he stumbled on a blog post by Internet and mobile cloud testing and monitoring company Keynote that he fully grasped how well WeatherTech's site had nailed it. Of the 28 advertisers Keynote measured in terms of performance across desktop, smartphone, and tablet, WeatherTech came in second, while behemoths such as Pepsi and Budweiser were rated dead last.
Want to crush it like Americaneagle.com did? Take McElrath's tips.
1. Research the heck out of what might go wrong, and do it early on.
Americaneagle.com had never had a client do a Super Bowl ad before but the company had seen the kind of traffic spikes that can ensue when Oprah or The Today Show mentions a product, or when professional sports team clients land in a major playoff.
Still, from the minute it learned WeatherTech was doing a Super Bowl ad, Americaneagle.com went into research and testing mode, not only estimating just how much extra traffic WeatherTech would get on February 2 and the days afterward but also testing the site to see where bottlenecks existed that might cause problems in the event of a huge traffic spike.
"We started doing daily performance reviews of the site," McElrath recalls. "We do performance reviews anyway, but we just started doing those more regularly. We do running traces where we look to see if there [are] any operations that are taking a little bit longer. If you start getting more traffic, that could cause a problem."
Another thing Americaneagle.com did in the months prior to the Super Bowl: load testing, which is where you make a copy of the site and simulate higher levels of traffic.
"Until you push these different elements of the site you don't really know what's going to break first," McElrath says.
Want a cautionary tale of a website that probably didn't do adequate load testing? Since launching last fall, Healthcare.gov has been an epic failure in terms of its ability to simply work.
2. Use a content-delivery network.
Because e-commerce sites are complicated and dynamic, compared with straight-up content sites that can easily be made static to handle traffic, McElrath says it's important to be particularly vigilant when it comes to dispersing traffic load via a CDN, or content delivery network. Americaneagle.com recommended Akamai to WeatherTech because it's used by 96 out of the top 100 e-tailers.
"[A] CDN is kind of a first layer, so when someone in L.A. is going to WeatherTech's site they first go to an Akamai CDN server, probably in an L.A. data center, and those CDN servers keep as much content on those servers as they can to minimize how many trips are made back to our servers in Chicago," he explains. "So a lot of the images, style sheets, a lot of the HTML pages they serve out there. So when we ran the ad, we had it set up so like 95 percent of the traffic was offloaded to Akamai's network and only 5 percent came back to us."
3. Don't just add more servers.
Americaneagle.com doubled the number of Web servers WeatherTech employed, increased RAM memory tenfold, went from one to five database servers, and made sure WeatherTech was running the most current version of Windows SQL Server software. But there's more to it than all that.
McElrath says it's a common misconception that scaling an e-commerce site is all about adding servers. While doing so is certainly part of the equation, programming and database optimization are equally important. Here's why: When an end user is pulling up pages, putting items in a cart, or submitting an order, it's essential these operations happen in a couple of milliseconds.
"If that goes up to even a hundred milliseconds, which is like a tenth of a second, it's just enough--if you're getting a certain amount of users coming in--that all of a sudden it starts queuing up, and that's where you have outages," McElrath says.
4. Scale servers up and out.
A lot of times, companies think the best way to scale a website is to add capacity to a server, when really they ought to also be adding more database servers.
"We did it so we could scale up and also scale out, and we did that with some Microsoft SQL Server replication functionality. So we had this one database server that was used by WeatherTech personnel as kind of a master database, and then we had other servers that we viewed as public-database servers which handled the traffic for shoppers, like putting stuff in their carts, submitting orders," he explains. "[T]hat's more complex programming, but we really felt we had to do that in order to have some more buffer to handle the number of orders they could possibly get."
5. Don't favor beauty over performance.
Most of the companies on Keynote's ranking delivered content optimized for smartphones and tablets. But many of them bombed when it came to actual mobile performance, indicating that plenty of big brands haven't yet figured out how to deliver a mobile website that's both fast and beautiful. And paradoxically, that's especially the case for events in which they're throwing down millions of dollars to get high levels of user engagement.
For this year's Super Bowl, "The average load time for advertiser sites on a smartphone was nearly 20 seconds, and only six sites came in at less than 10 seconds," Keynote noted on its blog. "That's well past user expectations of four seconds."
For its part, Americaneagle.com says it only made sense to be intentional about mobile performance, considering the vast numbers of people sitting around watching the game with a device in hand.
"One of the things that we thought through planning this is that the percentage of mobile users would be definitely higher than it typically would be because a lot of people have the game on and would just bring [websites] up on their phone rather than jump onto a computer and look," McElrath says.
In the end, Americaneagle.com's successes appear to be paying off. The company was recently named to Inc.'s "The Build 100" list, a ranking of midmarket companies that sustain growth year-over-year even during hard economic times. Last year, the company added 70 employees to its roster (head count is one signal number crunchers say indicates growth) for a current total of more than 250.