We often say “test in your dev server”. DEV, TEST, STAGING, PROD Are Common 4 Environments in Software Development. What Are The Differences Between Staging Environment vs Production Environment? We need to know about all four environments in brief – DEV, TEST, STAGING, PROD. PROD or production environment is exactly what this site is – the live site, it is the fully functioning real site. Except updates of server, security patches, host fixes nothing will be applied untested. We have load balancer, reverse proxy in the real site. DEV, TEST, STAGING does not need exactly same environment. We need almost the same for STAGING server.
If we start testing a development thing on this server, it may break the site, visitors will be unable to open the site. Local environment is the developer’s desktop/workstation. There are some fields where it is still used. In DEV or development environment the changes to the software are developed. In most simple form, it can be a small server or workstation with similar software of same version running. TEST or test environment allows human to check new and changed code via automated or non-automated techniques. STAGING environment is for testing on hardware and software architecture which exactly resembles the production environment. It is normal to get confused with staging environment and production environment as they sound similar. Most importantly, it is important to understand which one to use for the common web hosting works.
Staging Environment vs Production Environment
For a theater play initially each character practice to do their part. That is TEST environment. There is no DEV environment in theater play as complex script writing, work of director falling within DEV. When they start rehearsing in the same location where the final play will be presented that is the STAGING environment.
A staging environment is a mirror of the actual production environment to match production server as close as possible. Staging environment is a setup which is replica of the production environment identical to main site. It can have the copy of database (for websoftware like WordPress) or we can connect it’s database to other production server’s database. When we are connecting database with same FTP content, we will get same result. This is best to test all installation and upgrades on staging environment before they are applied to production environment to ensure that all the upgrades to the production environment will be completed reliably with minimum downtime. Commonly, we need to keep the automated updates off to the production environment to avoid breaking changes, for example plugin and core updates. As we are copying the files to staging environment, it is remaining at same versions. Testing Environment is a functional environment where we can allow the plugin and core updates. As site related matters are not going to kill human, we can switch our Staging Environment to Testing Environment for a while.
How Many Servers We Need For Live WordPress Sites?
Minimum two – one is the live (PROD). Another is the STAGING server. We can actually switch IP on need or allow external developers to work on it. We will use STAGING server for a while as TEST environment as the software, updates actually tested by the developers.
When we are developing a plugin, theme then we need DEV and TEST servers. A TEST environment may be a site with not so important another domain. Technically we should say “test in your STAGING environment” but that may appear difficult terminology to the new webmasters.