A fair number of companies only run a production environment and, even worse, make changes to the environment on the fly (i.e. a lack of change control). The following are six reasons why you should have a test environment (or two!) deployed in your infrastructure.
- Testing Code Changes – Hands up here who is guilty of making that “simple” code change in a production environment, only to find it has broken some other functionality. By implementing a test system (and by virtue a well-documented test strategy), you can ensure any code changes you have made work as expected and that you don’t unexpectedly break any other functionality.
- Deployment and Rollback Testing – Before making a change to your production environment, you should really test the deployment and rollback of the change in a pre-production-based environment. Why you may ask? Simply put, this helps you not only understand the steps that are needed to be taken in order to deploy successfully into production but also (if the worst comes to it), helps you know how to roll back the changes quickly and efficiently to avoid production downtime.
- Performance Testing – You are running a service that needs to be highly performant. Why then would you test and benchmark that performance on different infrastructure to that which your production system is running on? You shouldn’t. At a minimum, you should be testing on the same hardware as your production servers and be running through an infrastructure setup very similar to your production environment.
- Patch Testing – We’ve all heard reports of companies that release patches (maybe feature enhancing or security-based), where on deployment it turns out that the patches break something (the recent print nightmare example comes to mind). If you can deploy the patches to a test environment first, it gives you time to work out whether the patch is safe to be deployed into production or whether it should be held back for a subsequent patch to be released (a patch for the patch if you will).
- Support Testing – Let’s just imagine that an end user encounters an issue with your service that requires you to do some deep analysis of the system to pinpoint the issue. You “could” do this all in a production environment, but do you really want to potentially impact other users whilst you are analyzing and testing possible fixes? The answer should probably be “no”. By using a test environment, you are free to poke and prod it whilst replicating the issue without fear of breaking the production system. Another benefit here is that the test system would be a reference configuration, so you have a way of comparing the two systems to ensure everything is the same.
- Penetration Testing – This is something that I think a lot of us are guilty of and it is a big one…security! Do you really want to just bring a production network online without caring if it is in fact secure? With scheduled, regular penetration testing (whether you employ an external company or use tools such as Nessus to scan your environment), you can ensure that you are well aware of any security vulnerabilities that you can address before releasing the system into the wild. Adding to this, remember where I said “regular”? Penetration testing should be an ongoing thing – not just a one-off. So, if you were to perform the testing in production and IF there was an issue, it “could” potentially bring down your production system. By using a test system, you remain safe in the knowledge that your production system will remain up, even if the tester manages to break your test system.
Why you need a load balancer in your test environment
Listed above are 6 reasons for needing a test system. However, not specifically given is a reason as to why you need a load balancer in the test systems.
If you implement a test system that is in some way representative of the production system…
To read more about adding a load balancer to your test environments, click the following link:
Experts in all things Loadbalancer, ecoprintQ is committed to delivering excellent service to every customer, providing support at each phase of an opportunity, and promoting solutions at every level. As a result, ecoprintQ is one of the world’s top Authorized Solution Centers. If you’d like to find out more about the benefits of Loadbalancer, give us a call at 800.236.8499 or email us at firstname.lastname@example.org.