How to Assure Quality in Your Data Center
Some recent attention-grabbing headlines have included how Amazon's cloud computing service had some hiccups, Google's Web-based e-mail package, Gmail, suffered an outage and RIM's BlackBerry devices stopped getting their e-mail. There's a lesson here for IT professionals: Our data centers are more critical than ever. Here, Knowledge Center contributor Rex Black explains how to assure the highest level of quality in your organization's data center.
Proper quality assurance (QA) of a data center is not a trivial matter. We need to ensure that our data centers are fit for the purposes to which we and our users put them. The first step in assuring quality in your organization's data center is to make sure you understand what "fit for the purpose" means for your data center. You can start at a high level, identifying the extent to which functionality, interoperability, usability, performance, security and other attributes are important.
Then, for each of those attributes, you need to understand the specific risks that exist. Are you worried about leakage of personally identifiable information (PII) to unauthorized parties? That's a specific security risk. Maybe you're also worried about slow system response to user input? That's a specific performance risk. We find that it's fairly typical for a real-world system to have 100 to 200 specific quality-related risks.
Once you understand what risks exist for the quality of your systems, you'll need to figure out how to manage those risks appropriately. You can and should try to introduce proactive measures into your application development and acquisition processes that reduce risk upfront, but you'll find that you do need to organize tests that address these risks. We refer to this as covering the quality risks, analogous to the way insurance can cover risks such as fires, collisions and medical conditions.
One of the trickiest parts about covering your quality risks with tests is the selection or creation of proper test data. In cases where the application doesn't exist yet, you'll need to figure out a way to produce realistic-sized, production-like data sets. Tools are available for this but often we find it's better to create our own tools since data tends to be very application-specific.
In cases where the application already exists, you might have access to production data in your data centers. The challenge here is that production data is often sensitive stuff, full of confidential or private information. In these cases, anonymization of the data is important. This is another job that often requires tools.
You'll also need a test environment, including hardware, cohabitating software, networks and so forth. In some cases, you can use smaller replicas of the production environment. However, for reliability and performance testing, such scaled-down models tend to produce misleading results. If a full-scale replica of the production environment is not possible, you might be able to use an outside testing lab. Some labs exist which can replicate common environments such as those for e-commerce sites and other browser-based applications.