learner010
learner010

Reputation: 439

advantage of having different environment for development, test and production

What are the advantages of having different environment for development, test and production?

Is it just to prevent each environment from downloading unnecessary dependencies or to load specific environment variables for development, test and production?

Could you provide a real world example for it?

Upvotes: -3

Views: 2452

Answers (1)

georgecj11
georgecj11

Reputation: 1637

This is a multi-faceted question. Let me explain how normally a company grows and that should give the reasoning behind that.

Lets assume you have a great idea and you decided to work on it. Initially the whole team might be just you or may be a group of 2-3 people. You develop test and do everything in same machine and releases to the common environment. No one other than you guys is bothered about it.

Now your product went live. All going good until you found a bug. Now after fixing, as you doing have a testing environment, you push to the common environment. You made syntax error and whole system goes down. You cannot afford to have that and we are left with no other choice - a testing environment.

You have found interest from others on your product and the traffic has gone up. You income started to grow and 2-3 developers cannot maintain everything. Its when a QA joins you. The same issue comes again, tester wants to test a place where everything is stable. So developers do some coding and after doing a sanity, will push to testing environment with the consent of tester.

There can be other environments as well like

  • Integration Environment : A place for developers to test how different modules interacts before sending for testing
  • Staging Environment : A pre-release stage, where the release is done once QA's signs-off for release. It will be closest to production

The main purpose for having different environments is to provide stable and independent environments for all. There are companies which might have even 10 or more such environments with specific purpose for each like - functional testing, load testing etc.

Upvotes: 3

Related Questions