Best practices for managing clustered test environments - Enterprise Networking

Computer Technology Review, June, 2003 by Jim Lee

Today, companies are challenged to satisfy the business needs of demanding customers by providing quality applications and high levels of performance in an increasingly complex hardware and software environment. Pressure from strong competition and flat or shrinking IT budgets are compounding the situation. IT executives are searching for the best methods and tools to help them achieve the right balance between delivering reliability and performance for applications and systems that must be available 24x7.

One common solution for achieving this balance in supporting large scale, high-volume enterprise systems is to implement various clustering configurations that manage applications, hardware and databases effectively. Clustering is simply a way to physically and logically group hardware and software resources to work together as one system, and there are a variety of clustering configurations that allow for load balancing among the hardware, software and database resources. Clustering effectively improves processing efficiency and performance, while reducing operating costs, especially for large enterprise scale, mission-critical systems.

In a production environment, database and hardware clustering deliver improved availability, performance and scalability. Application clustering, also called software clustering, adds a third dimension to the configuration possibilities that is inexpensive and relatively easy to reconfigure. However, how should these clustering techniques be deployed in a testing environment? Can you afford to replicate a clustered production environment for development and testing environments?

Clustering in an Application Testing Environment

Complete and accurate quality assurance testing is critical for meeting today's demands to deliver applications that work, not only in the initial release, but also throughout the life of the application. Finding and resolving application defects early can significantly improve application quality and reduce or eliminate the costs associated with resolving problems after an application is placed in production. Another important goal is to create a repeatable testing process that improves application quality, reduces time to market and minimizes the cost of development and testing.

Companies are striving to speed the deployment of reliable, high quality applications while staying within tight development budgets. Reducing development and testing costs without sacrificing quality requires a best practices strategy with the right tools for application testing. The fact that most applications today rely on relational database technology further complicates the challenge for testing organizations. The application data model may contain dozens, hundreds, or even thousands of tables, and just as many relationships.

Deploying clustering in a testing environment can be beneficial when used appropriately. Managing your database, hardware and application clustering configurations effectively, as well as carefully choosing the right clustering technique for each phase of the testing process, are key to designing efficient, effective testing strategies for relational database applications.

Relational Data Testing Challenges

Designing a comprehensive strategy for clustered testing environments can be as challenging as designing and developing an application. The starting point is the logical and physical clustering environment--including servers, applications and databases needed to support the application you are testing. Although testing tools are not used in the production environment, the optimal clustering configuration will enable you to determine price/performance tradeoffs for your testing strategy.

Typically, several new test databases must be created and/or refreshed each time a new application is developed or an existing application is modified. Iterative testing involves executing the application using the test database and verifying the results to ensure the application is working as designed. Any problems discovered must be resolved and the test data must be refreshed before testing continues. This process is repeated throughout the various testing phases--unit, functional, integration, system, load and regression--until the application is migrated into production.

Clustering and Cloned Test Databases

Since it is ideal to use "realistic" test data, each test database is usually a clone of the production database, and special test cases may be added before testing begins. For example, in a clustered environment, a one-terabyte database might be cloned and deployed on a database cluster running on two servers. Load balancing can be used to enhance performance and maximize processing resources, depending on the number of test environments created.

Although clustered environments can support cloned databases, the cost and capacity issues make it impractical to clone an entire production database, unless it is absolutely necessary. Consider a typical example like testing an application with a one-terabyte database running on two servers. The same configuration is needed to support regression testing, adding two servers. If the QA functional testing also needs to clone the database, add two more servers. Now, a total of six servers are required with four dedicated to testing. This configuration does not even include the copies of the production database needed in the development environment.


 

BNET TalkbackShare your ideas and expertise on this topic

Please add your comment:

  1. You are currently: a Guest |
  2.  

Basic HTML tags that work in comments are: bold (<b></b>), italic (<i></i>), underline (<u></u>), and hyperlink (<a href></a)

advertisement
CXO UnpluggedSmart Business interviews on BNET

See and hear how senior level executives across the Asia Pacific are developing smart business ideas across a variety of sectors. The focus is on the future, and on how businesses need to evolve.

advertisement
  • Click Here
  • Click Here
  • Click Here
  • Click Here
advertisement
Click Here

Content provided in partnership with Thompson Gale