In eCommerce web development it’s often necessary to have multiple development environments.
This allows multiple developers and users to work on your site independently and simultaneously, without affecting your live site. When changes in one environment are ready for testing and QA, it’s deployed (aka “pushed”) to a new environment – usually working its way from left to right in the environment structure:
Development Environments Structure:
The local environment is the environment in which changes to software are developed.
A local environment is independent of any hosting and is not connected to any other development environment as it is kept offline and run on a local machine or server. Simply put, the local environment is an individual developer’s personal workstation (i.e., their desktop/laptop).
The staging or pre-production environment is an environment that exactly resembles your live site where testing is performed but does not affect your live site. It is the last stage before updates become visible on your live site.
A staging environment’s main purpose is to ensure that all new changes deployed from the local environment are working as intended before they hit your live site. Testing and QA occurs here with multiple tools (e.g., New Relic, SonarQube, PHP Code Sniffer) to catch and ﬁx bugs/glitches and issues before they’re discovered by live users.
The staging environment is used as a ﬁnal testing ground for you to review all the changes/updates to give your ﬁnal approval before pushing to live.
The production environment – also known as live – is the environment that users directly interact with. In other words, it’s your live site.
The production environment is the fïnal stage, or “frontend of your website that a user will see. If the process of testing and deploying is performed correctly between the previous environments, this version of your website should be free from bugs and provide your end-users with a great shopping experience.
Why do I need to set up a staging environment?
A staging environment provides a safe place where you can test new changes before releasing them to your live website. This avoids working directly on your live site and helps catch bugs and errors before they hit your live site.
If I already have a staging environment, do you need to set up another one?
Ideally, we would prefer to deploy changes to our internal staging environment before pushing live, but if you choose, we can use your existing staging environment. Development and deployment is much easier if we are working on our own staging environment. Plus, our staging environment contains all our QA and testing tools and all updates go through multiple checkpoints before they’re pushed to your live site. If we work on your existing staging environment, we can’t guarantee this level of verification.
Is there an extra cost to use my own staging environment?
Because of the added integration, there will be a slight one-time charge to use your own staging environment.