QA servers are used for user acceptance testing. It can be used for integration testing before actual user acceptance testing.
Dev server is used for development and unit testing. Also it can be used for dry run.
It is better to have similar configuration for Prod, Preprod, QA and Dev server. If prod has server cluster, other lower environment also should have server cluster. Very often we avoid this aspect to save money on infrastructure which create inconvenience in later stage.
Sometime we see that lower environment like QA and DEV has single server installation. They don’t have server clusters. It creates problem. You may get correct data in those environment .But you may get incorrect data in production. Even process can fails. This is especially true when message sequencing is required. You will not notice this issue in single server environment. So multi server and multi-threading processing should be taken care of beforehand.
Also QA, Dev server might be in intranet, prod server might be in cloud; it also create issues.
If you have public URL for prod server, you should have public URL for all the lower environments. All the testing (UT, SIT, UAT) should be done using public URL. Your server may have both, intranet and internet URL (public) . If you use intranet URL in production ,all the testing in lower environment should be done using intranet URL. You should not mix up intranet /internet URL across environment. Also if your prod server is in cloud, you should have all the servers of QA, DEV in cloud. It may be seen that some installation don’t have intranet URL for production. Also production server may be in cloud, whereas test environments server intranet. You should avoid this configuration. You should maintain uniformity across environments. Otherwise you will face many unforeseen issues.
Sandbox : This server is uncontrolled server. Normally access is given to every developers to play with menu, interfaces, configuration etc. Also this server can be used for patch testing and version upgrade. You don’t need to have this environment if you don’t want to invest more on infrastructure.