A. For a software developer who is required to test an application in many environments
B. When the data center environment is out of resources for a new server
C. As a cost-saving measure to allow multiple users on one computer
D. To provide a backup to cloud-based solutions during internet failures