Why You Should Run ACL in a Virtual Machine

virtual machineRunning the desktop version of ACL in a virtual machine* (VM) has so many advantages, but I haven’t heard anyone else doing it.

Consider the following advantages, listed in order of importance (to me):

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.

Your turn

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?



Filed under ACL, Audit, Data Analytics, Technology

11 responses to “Why You Should Run ACL in a Virtual Machine

  1. J. Gabriel

    Great tips. I use ACL on a laptop but appreciate how I would enjoy the benefits noted. My needs are not sophisticated (yet) to warrant offloading long tasks. I would enjoy ACL as a subscription only service to use separate from my work machine and account.


    • J,
      You’ll get there eventually. Now you have 2 options: a dedicated machine or a VM.

      I wouldn’t want to put audit data in the cloud, but lots of other company data is in the cloud. I just don’t have the need or want to do another vendor review. :)


  2. John

    What about a separate desktop? I keep one at my primary office and use remote desktop. I get smoked when the typical user updates get pushed out and drops my machine but that isn’t too often. And nothing is so critical that I can’t restart it. I only wish ACL had retained the 2 installs rule so I didn’t have to deactivate/reactivate my laptop back and forth as needed.


    • John,
      I was told by ACL support that as long as each user has a license, they can still install ACL on multiple machines, as long as each user has a license. I have ACL installed on my laptop and several virtual machines and ACL was okay with that.

      So you only have 1 license but have it installed on 2 machines?

      I suggest you call your account rep.


  3. Interesting method. I’m not so familiar with VM other than me exploring android versions and Linux in my personal PC.

    My ACL installed in laptop, you can say dedicated I guess. Data from SAP downloaded locally to Excel. Our Data Analytic team still working on LiveLink to access data directly from server. So, todate, still handle locally.

    Resource consumption not so much of issue for me because I’m not doing heavy analysis like joining tables. So, I don’t think I need VM for now.


  4. Louie

    I appreciate the creativity…the things we do to compensate for software that makes collaboration beyond difficult. Food for thought: the client-server version of Arbutus Analyzer actually works. If you want to share a file, you drag the file to a shared folder…done. Authorized users see the same file you are seeing. No more copies. If you want to run a heavy-duty script, right-click, run it in server mode, and move on to your next task.


    • Louie,
      That sounds great, but the client-server version must be more than ACL desktop. Also, do you script in Arbutus? ISn’t the scripting language C or something like that?
      What do you think of the learning curve for scripting in that tool?


      • Louie

        Hello ITauditSecurity,
        Arbutus scripts are written in the same language as ACL. The founder of Arbutus is the original architect of ACL. Arbutus can run ACL Desktop scripts without modification. I hope that answers your question.


  5. Pingback: Real Auditors Use Excel PowerPivot | ITauditSecurity

  6. Pingback: Master List of ACL Articles and Tips | ITauditSecurity

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.