Consider the following advantages, listed in order of importance (to me):
- It takes the processing load off of your computer.
Sometimes, ACL consumes all the resources of your laptop when you’re dealing with BIG files or running some heavy-duty scripts. While ACL is churning away in a VM, you can continue to do your email, word processing, or surfing on your laptop.
- When the work day is over, and ACL still has an hour of processing to do, you can disconnect from the VM, go home, and reconnect from home.
If you run ACL on your laptop, you have to either wait until ACL is done, leave your laptop at work, or kill ACL. When you disconnect from a VM, it continues to run; it will still be waiting for you when you reconnect to it (log back in).
- Creating and running a VM is cheaper and FASTER than buying a dedicated laptop or desktop.
I have several VMs running ACL, and I often use more than one of them at once. Once you have a VM configured the way you like it, the VM can be easily cloned when you need another one.
- You can easily configure a VM with the operating system, number of processors, and the amount of RAM you want.
Obviously, virtual processors and virtual RAM are cheaper than physical ones.
- It is easier for others to contribute to or troubleshoot your ACL project.
If you tend to run and store your ACL files on your laptop (or desktop), you have to turn over your laptop to them, or share out your disk (not recommended). If you need third parties (internal or external, like ACL support) to access the computer, you can log out of the VM, and let the other person log into it. It’s also more secure as you only have the data associated with your ACL project on the computer, so less data is available to third parties.
- If your company does not grant admin rights to users (and it should not), it’s easier to get IT to grant you admin rights to a virtual machine where limited applications are installed.
You need admin rights to keep ACL and other utilities you use for data analysis up-to-date.
- If you have ACL jobs that are scheduled to run automatically, using a VM prevents others from accidentally (or purposefully) turning off your computer or using it for something else.
Make sure you have access to the VM configured appropriately so that only the appropriate people have access to it.
*Obviously, I’m referring to a VM in your work environment (e.g., VMware on a big box), not a VM on your laptop or desktop computer.
If you use a VM, make sure it is backed up regularly.
Use a Network Drive
Also, consider saving and running your ACL project files on a network drive. That way, if a VM goes down, you can still access the project files. You can quickly open the ACL project in another VM (assuming you have more than one) or on your laptop in a pinch.
While running ACL locally on a laptop or dedicated computer is faster than running it from a network drive, I think the other advantages of running ACL from a network drive outweighs the speed. In my work, speed is not critical.
I used to run ACL in a VM and store the project files on the VM’s C:\ drive, thinking that it was local storage and faster. But it wasn’t.
Then I realized that the VM’s disk drive was running from the storage area network (same as a network drive). And when that VM went down, the files were not accessible until the VM came back up (and sometimes that took IT a couple hours).
So I created a network drive that was dedicated to data analysis, and run my ACL projects from there. If VM #1 goes down, I switch to VM #2 and keep working in my ACL project.
And I never run out of space.
Of course the negative side of not having the files on your laptop is that you can’t work on your project on the bus or anywhere else where you have on Internet access.
Here’s 2 other reasons to run ACL on a network drive instead of your laptop.
First, using your laptop means that all your data is on your laptop, which is carted around in public. I sure hope your laptop is encrypted!
Second, if you lose your laptop or your disk becomes corrupted, will you lose your data and your ACL scripts? Is your laptop backed up? If you use a desktop, is it backed up?
And if you use a network drive like I recommend, is the network drive backed up? Make sure.
If you’re using the desktop ACL version, how do you do it?
Are you using your laptop, a dedicated computer, a VM, or what?
Where are you running your ACL files from?
Have you ever considered running ACL in a VM?