Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what is difference between sandbox and staging environments?

If the staging environment is an isolated environment for testing by testers and also sandbox is an isolated environment for testing, So what are those differences? Actually I could not find any useful and clear information on.

like image 432
Mohammad Jamal Dashtaki Avatar asked Oct 02 '19 08:10

Mohammad Jamal Dashtaki


People also ask

What is the difference between sandbox and UAT?

UAT (the environment) might be "level" with production, and is essentially a sandbox for users to try new features with. UAT (the environment) might be "ahead" of production, so that new features are not deployed to production until they have been evaluated.

What is a staging environment?

A staging environment (stage) is a nearly exact replica of a production environment for software testing. Staging environments are made to test codes, builds, and updates to ensure quality under a production-like environment before application deployment.

What is the difference between sandbox and developer environment?

The garage (development environment) is the best place to build a racecar in the first place. But it's not designed for test-drives. On a racetrack (sandbox) you have a replication of the conditions and environment your car would be under when it's actually used in real life.

What is the difference between staging and testing environment?

To ensure your product works as it should, you need both a testing and staging environment, where the testing environment makes sure that every component does its job while the staging environment ensures that your software would behave correctly in an environment almost exactly the same as production.


1 Answers

Good question. Given the background you provide they appear the same. This is true in that they are both isolated from the production environments. They should not contain production data. etc. However there are a number of differences particularly in how they are used.

  1. Staging environment

A good staging environment will be a close replica (less the data) of the production system. It is used to test upgrades and patches prior to going to production. This means that it should be a controlled environment where the engineers responsible for the production deployment are allowed to test the rollout instructions.

Access restrictions in a staging environment should be as close to production as possible. I.E. deployment by those engineers who are responsible for deployment. No root (or privileged access for developers).

  1. Sandbox environment

As the name suggests this typically a playground for the engineering team. It has less restrictions than a staging environment because it is designed to allow the engineers to try out things easily and quickly. A sandbox environment is likely to drift away from the production environment as engineers try out different versions of the product, dependancies, plugins etc.

Access to a sandbox environment typically allows privileged access to any engineer (developer, QA etc.) who are working on the project for easy / quick deployment and debugging.

like image 70
James Wilson Avatar answered Oct 11 '22 10:10

James Wilson