Since the 1980’s IBM mainframes have come with a built-in hypervisor that allows you to partition the machine into multiple systems. (As I recall, Amdahl had this feature first.) For over a decade, we’ve run three partitions on the administrative computing system: one partition where we install new versions of the operating system when we receive them from IBM, and make sure it’s working as delivered; a second where we make our local modifications and install third-party applications to test them out; and finally, the production partition that everyone except the systems staff uses. This means that all developer and quality assurance testing occurs in the production partition.
I’ve mentioned this to a few people, but now I’d like to publicly float the idea of breaking up the production partition and spinning out the test and quality assurance environments into their own partitions. The primary advantage of doing so would be a decreased possibility of testing efforts inadvertently affecting production data. (This would particularly apply in batch, where currently developers have to come up with different names for test data sets.) A second advantage would be an enhanced ability to make sure non-production work doesn’t receive an excessive share of the mainframe’s capacity.
The main disadvantage would be slightly more complicated procedures for migrating code and data between environments. Also, setting this up would require some effort, and developers would have to change some of their habits.
So what do y’all think?