Blog

5 Steps to Bullet-proofing your Online Infrastructure

by Michelle McLean, posted on Friday, May 29, 2015

Don Allen, senior director of technical operations for online retailer zullily, offered fantastic advice on our webinar yesterday on how to improve availability and performance of online systems. He took the audience through the five steps he follows, with the key point that it’s a circular process – “you’re never done. Each phase just leads back to the first again.”

Allen centers his processes on these five steps:

Baseline and Instrument your Environment – Allen’s advice here focused on looking at the data to build a correlation model for usage and your apps. He and his team have determined the multiple that each home page visit translates into for hits on each component of the system. “You may not think there’s constant, but I guarantee if you look, you’ll find it,” said Allen.

Scale your Infrastructure – Allen talked about the importance of digging in beyond vendor claims. “With a lot of new technologies, they’ll cite performance numbers but they just can’t deliver. You’ve got to test the systems to make sure new technologies can keep up with your load,” he noted.

Perform Load Testing – Allen focused here on the importance of going beyond the overall “pass/fail” notion, that you really need to test each component as well. His key take-away: “Your best data comes from the days that your systems were running really hot but didn’t fail. When those days happen, I grab a cup of coffee and dig in – I know I’m going to learn a lot from that data.”

Apply Security Controls – Allen led off with the need to protect against SQL injection attacks. “You’ve got to take those all the way back to the developer phase. A good developer will welcome getting tested for that.” He also noted the need to perform detailed query analysis to understand patters and detect new threats and the importance of applying least privilege access rights.

Plan for Failover – Allen called out the value of regular DR testing and the vital role of automation in those failover sequences. “Ideally, you want failover to be automated. If it can’t, then you need it to at least be a simple implementation – a script that anyone can run for instance. Don’t have it depend on a bunch of staff.”

My favorite Don Allen quote?
“Flexibility beats planning nine out of 10 times.” His overall take away was that flexibility in your infrastructure – at every tier – is what will save you. For him, flexibility comes in a lot of vital forms: cloud for on-demand scale, Reddis for managing session state, NoSQL for an ever-growing and changing catalog, caching to protect the database, and ScaleArc to maintain HA at the database tier.

If you’re working on improving uptime and performance in your database environment, it’s well worth your time to hear Allen's advice.