Zend certified PHP/Magento developer

Q&A: Eric Hileman of Magento Web Host MageMogo on Surviving Black Friday and …

A screenshot of a demo Magento e-commerce page from MageMojo’s website

(WEB HOST INDUSTRY REVIEW) — With Black Friday shopping well underway, e-commerce retailers are keeping a close eye on the uptime of their websites. While there are many tools that help monitor a website’s uptime, web hosts that specialize in e-commerce sites can help retailers ensure that their infrastructure can handle the holiday shopping crowds. In an email interview with the WHIR, Magento e-commerce web host MageMojo shares some insight into what it takes to keep an e-commerce website online from Black Friday, to Cyber Monday, and beyond.

Eric Hileman, MageMojo web operations, says that MageMojo has built its plans to optimize Magento websites. Open source e-commerce platform Magento was acquired by eBay in June 2011. Now, it is the popular platform behind many e-commerce websites, and the base of the e-commerce offerings of several web hosting providers.

In an email QA, Hileman talks about the challenges of maintaining an e-commerce website in light of the shopping weekend, and explains why he thinks SLAs are a farce.

WHIR: What is your role with MageMojo?

Eric Hileman: My role here is in Web Operations along with the rest of the staff who are also in WebOps. WebOps is an important distinction from our competitors because it means that we look at the big picture and are not silo’d as experts in just networking, php, js, MySQL, e-commerce, etc. Each of us also understands provisioning, resource planning, troubleshooting and root cause analysis. We’re able to be the fastest Magento host in the US because we all understand the implications of how each piece affects one another from the point of view of performance to security. It also allows us to quickly resolve a broad range of issues for our clients.

WHIR: Can you describe a bit about what MageMojo does?

EH: MageMojo specializes in Magento hosting. Magento is the new hotness in open source e-commerce software. We’ve built our infrastructure from the ground up to run Magento faster and more reliably than anyone else. All our plans are virtual dedicated servers with dedicated resources. Being dedicated means that CPU and memory are dedicated to each customer and not shared by any other customer on the physical server. Being virtual means that we can add more CPU, memory and disk quickly and reliably. Virtualization also allows us to deliver high performance dedicated servers to our clients in an affordable way.

We believe that no one should have a Magento store in production on a shared server. Those shared servers allow you to burst up and use resources on the server when they’re available. However, you never know when they’re available and when they’re not. So you can never accurately test the performance of your store. We even have competitors selling vps or isolated Magento plans but still allow you to burst up when resources are available. The difference being they promise you a minimum amount of available resources but it still doens’t solve the problem. You simply can’t hit a moving target and you’re completely in the dark on those types of shared, VPS and isolated hosting plans.

The problem with most dedicated server providers is that you’re responsible for the server configuration and monitoring of it. That’s why we fully manage the dedicated server to make sure the OS and LAMP stack are optimized and tuned for Magento and that it remains stable and always available. We then approach client support from the view of web operations with Magento experience to ensure clients always have fully optimized stores that are going to meet the needs and demands of their business 24x7x365. All clients stores are monitored with policies in place to ensure those needs are met during even the highest of demands. When those demands change or the needs aren’t met, we have documented policies in place so everyone here knows how to respond.

WHIR: Does MageMojo have a typical customer?

EH: We have four types of customers but in all types the common denominator is someone whose livelihood is on the line by placing the fate of the online store in our hands. We have a tremendous amount of respect for, and honor in of that. They need their store available 100 percent of the time and page load times to be better than their competitors. A store that’s offline or poorly performing means lost revenue and in turn a lost job or bankrupt business for the customer.

As an e-commerce hosting provider we understand that’s not acceptable and do things very differently than your typical one-size-fits-all hosting provider. Even our competitors with Magento hosting plans are really just that kind of one-size-fits-all provider if you look closer at their operations. It was their marketing department that added on their Magento hosting plans.

WHIR: What are the biggest challenges of preparing your customers for Black Friday and Cyber Monday?

EH: The biggest challenge is really clients who are searching for ways to make their store better and haphazardly installing community extensions. They don’t realize that anytime you install an extension you are taking a significant risk. Before installing an extension you need to first research the reviews on it. So many times a client will open a support ticket saying their site is really slow or it’s completely down. We immediately dig in and find a freshly installed extension that has terrible reviews. Save yourself the hassle and research others experiences before installing. Next, take a full backup. Extensions can completely wreck your code base and your database beyond a manual repair. Be prepared to restore immediately.

Now that you have your shiny new extension installed; test, test, test. With every change you make test everything. Test your product pages, your category pages, do some searches and always go all the way through your checkout process and place a test order. You might think that Facebook Like extension is harmless but in reality you have no idea under the hood what it’s doing. Always take a backup and always test no matter how small a change you think it is.

Finally, document the date time and what you did. Always have a record that way if a problem comes up later that you didn’t catch in testing you can go back to your list and retrace your steps, rolling back step by step, until you find the issue.

WHIR: Can you give an example of a specific type of client and perhaps a breakdown or “checklist” of what has to be done to prepare the website for a spike in traffic?

EH: We added extra server capacity so we have more available this time of the year than usual. We’ve also recently expanded to add more network connectivity and power capacity as well. This way we can quickly and temporarily bump CPU/memory as needed on a per clients basis for the holidays. We make sure the clients know they have a responsibility to let us know in advance of any big marketing campaigns coming up. Especially anything that drives a large amount of traffic in a short time such as; email campaigns, Facebook promotions and TV appearances/infomercials. Those types of promotions drive incredible spikes of traffic in very short periods of time and can easily overwhelm a server. We’ll work them to gather as much data as they have on previous promotions, seasonal stats and get an idea of concurrency they are expecting. We also ask they let us know of any large media advertising going on for example running an ad in the New York Times for a special.

In addition to temporary large spikes in traffic we ask that the seasonal type businesses contact us. These types of businesses are active only on the holidays and do large amounts of business during these months but little the rest of the year. In this instance we help them go through their analytics accounts to view previous year sales and traffic to estimate what to expect this year. Clients don’t usually have much data to go on and that’s ok because we have a lot of experience in this area that we can draw upon to make very accurate educated estimates. We’ll then performance tune, test and optimize their Magento store. At that point we know 100 percent if they can or can’t handle the additional traffic and will upgrade if necessary. At any time a client can request we performance test, tune and optimize their store and we will at no cost. 

WHIR: Are there specific benefits/challenges to using Magento?

EH: Magento is a the ultimate open source shopping cart and is free to download and setup your shop. Out of the box it’s extremely feature rich. What’s more, it has a framework so you can extend everything in a way that won’t screw the core up for future updates. Magento also has a large community of both free and paid extensions to quickly extend it. But with great flexibility comes great responsibility. The price you pay for that flexibility is a complex code base that can easily be broken and slowed to a crawl with a simple configuration change, custom code or one of the many community extensions. Combine that with its rapid developmental changes and lack of good documentation and the result is a lot of poorly coded extensions and custom mods. Even the wrong configuration change in the admin panel can bring your server to its knees begging for forgiveness. Our clients host their Magento stores with us because we understand those unique needs.

WHIR: What are some considerations that e-commerce sites must make in order to stay online during the Black Friday weekend?

EH: If it isn’t monitored, it isn’t in production. Monitoring not only tells you if it’s online but can also tell you if your page load times are returning slowly or if you’re memory is heading into swap and your server is about to crash. We have monitoring systems in place to actively monitor CPU, memory, disk space, page load times, etc. If your CPU starts running spiked for longer than usual periods or your memory use goes into swap we immediately take action. We have processes in place so everyone knows how to respond to these alerts and what action take. So for example if a site is running slow we’ll take remedial action right away and then contact the client. First to make sure they didn’t make changes, install an extension or custom code. If there are no code/config problems then we discuss upgrades and will upgrade them right away. Our environment is very fluid and we can add more cores and memory to a customer’s server in a matter of minutes without any fear of breaking changes.

WHIR: You have a 100 percent uptime SLA – how do you manage to honor this during the huge traffic spikes inherent to the shopping holiday?

EH: I’ll play devil’s advocate and call bullshit on SLAs. Generally they’re all the same and say things like for every one hour of unscheduled downtime you’re entitled to one day of free service.  But if your site goes down on Cyber Monday for 24 hours you’re going to lose a lot more than one free month of hosting. Don’t pay too much attention to SLAs. All hosting companies will offer that kind of SLA with remediation no where near your actual losses. They are designed to be that way because all any hosting company can do is their test to ensure the infrastructure is as redundant as possible. But even Goggle, Amazon EC2 and other large sites/cloud providers experience unplanned downtime.

What’s more important is that we specialize in e-commerce hosting. We know when client’s are down they are losing money.  We work with them to gather expectations about traffic and test/tune their stores to be ready. We have intelligent monitoring systems in place to anticipate problems. The problems feed back to us where we have documented action plans so we all know exactly how to handle each situation. From there we work with the clients to keep them up and running. We’ve also gone to great lengths and expense to build a