Production vs. Disaster Recovery vs. Testing Environment

You need to consider the type of environment you need to have when you want to develop an application. First, you can develop your application on your client's machine. Once you have completed the task, it needs to be tested. For that, you should have a Testing Environment. If your application works fine in Testing Environment and you have got the confidence to go live, you need to promote your Application in the Production Environment. If you would like to have continuity of business, you may need Disaster Recovery as a backup plan in case your Production Environment has encountered some problems. This is the most general scenario to develop an application.

Production Environment

Type of your Application - Is it a real-time application? Is it integrated with other systems? How much data is to be processed? Does it operate 24 hours per day? Type of your Business - How critical is your business? Who will be affected if this application is down? A number of the user (Active user and Name user) Number of Transactions - Number of transactions within a period of time such as the number of transactions in a month. Accepted downtime - Number of downtimes in a year and how long is the accepted downtime per each occurrence?

Disaster Recovery Environment

The Disaster Recovery Environment is the backup environment for your Production Environment and cannot be operated for a long duration. To design the Disaster Recovery Environment, you need to consider the following points.

  • RPO (Recovery Point Objective) - How much of your data can be lost when you decide to turn on the Disaster Recovery Environment?

  • RTO (Recovery Time Objective) - How long can it take when you decide to turn on the Disaster Recovery Environment?

  • How much percent of your Production Environment Capacity do you expect to use in the Disaster Recovery Environment?

Testing Environment

Testing Environment is used for testing your application. To design the Testing Environment, you need to consider the following points.

  • How many testers or people involved do you plan to use the testing environment?

  • How many systems do you have to integrate with?

  • How much data do you plan to be used in the testing process?

Last updated