In the beginning, the engineer created the virtual machine. Now the virtual machine was unconfigured, its files sparse, and the engineer pondered how he would set it up.
Then the engineer said, “Let’s give this thing a CPU and some memory.” Click click, and it was so. The engineer saw that the hypervisor had the CPU ready to run tasks, and that it was good enough. There was a coffee break, and a smoke. That was the first thing done.
Then the engineer said, “Let’s have some storage for this thing. And we’ll put all the operating system on one partition all in one place, and the data on the other.” Click click, and it was so. The engineer allocated space on local storage, and allocated space on the storage array. The progress bar moved to 100%. There was a coffee break, and a smoke. That was the second thing done.
Then the engineer said, “Let us create filesystems on the virtual disks.” The engineer partitioned the disks to hold related data together, and mounted them as part of one filesystem. He called the operating system root and the data he called home. It seemed fine. And there was a coffee break, and a smoke. That was the third thing done.
Then the engineer said, “Let the operating system filesystem be filled with the operating system files, each with their permissions and attributes, all according to their file types and directories.” And he installed the operating system files, and it was okay. There was a coffee break, and a smoke. That was the fourth thing done.
Then the engineer said, “Let’s hook this thing up to the network.” So he created two network connections: a fast network connection to stream public information from and to the system, and a slow network connection for local network communications. And he hooked them up to show their status on the virtual desktop. He also set up a cool screensaver. And it seemed to be working. There was a coffee break, and a smoke. That was the fifth thing done.
Then the engineer said, “Let’s install all sorts of applications on this thing.” And he installed operating system applications, and user applications – applications that log, analyse, and report, and a few kinds of scheduled jobs, each according to the system requirements. And it was not too shabby.
Then the engineer said, “I’m going to install a couple of scripts to do all my work for me. So he wrote down all his business rules in a script, and set it up, together with a helper application.
Then the engineer had a look at the entire virtual machine that he had set up, and said, “It’s pretty good, if I say so myself.” And so that was the sixth thing done, and the whole virtual machine was ready to be commissioned.
So the machine was completed, and all its vast storage array. Then the engineer put his feet up, and ate the pizza he had ordered earlier, and rested from all the configuration he had done. And he called the virtual machine “pizza”.
Here’s the funny thing: this is not actually fiction. This really is how you set up a new custom virtual machine on KVM or vmware. You really do click things into existence, and there really is nothing on the disk before you allocate space to it it – the disk really doesn’t exist until you start to use it. Okay, you might not take so many breaks when you do it, and you might not smoke if you are a non smoker. Also, if it’s a particularly big job, it may take a few days to get the job finished. And you have to be pretty good at what you are doing to say it’s very good at every stop.