Deploying software to dozens of machines requires a systematic approach that saves time and ensures consistency across every endpoint. This content covers the core strategies IT professionals use to scale software installations efficiently across large fleets of computers.
Deploying Software at Scale
Nowadays it's real easy just to go into a website, download some software and install it on your machine. Maybe the whole process takes just 10 minutes to do. But now let's say you're doing a classroom or a business and you have 30 machines that you need to install that software on. Suddenly that little task now becomes 300 minutes, or 5 hours of time, to install a simple program on all those machines.
So what we need to start doing is thinking about how we can scale this process. When we're working with lots of machines, how can we make sure we can consistently roll out software and do it in a very efficient way?
I've managed a lot of employees over the years, and what I've seen is it takes a while for technicians to get good at deploying machines — that is, to deploy it efficiently and also accurately, making sure that it's going to have all the proper software and everything it needs for the user to be successful as soon as they get that machine.
I got really good at it because I was deploying a lot of machines. I worked at schools, and every summer I would go through and wipe the machines and do a fresh install on all of the machines — a new operating system, new drivers, new everything on that machine, all the new software. It took me about half a day to do 30 machines. I got really good at rolling it out; in fact, I think the fastest time I could roll out a whole classroom was two hours, which is really fast. I did that by utilizing some tools to be able to deploy things at scale.
One of the first things that I found is really helpful is having accurate documentation and checklists, and making sure that it's organized in a way to make you efficient.
When you create documentation for any of your processes, what you do is you create consistency — as long as you're following that documentation. That is, we can go through that plan the same way every time, and that creates an efficiency in how we roll things out, and I don't have to recreate everything. I just use that documentation to be able to efficiently roll things out.
There's also a quality that I roll this out with, in that I make sure that steps are not forgotten. If for some reason something is forgotten, then I can take a look at this process and say, what needs to be changed, what needs to be added, what needs to be removed, how do I make this more efficient? So I can constantly improve it and get better and better at rolling things out. I really strongly recommend that you do documentation with most of the processes that you do, if you do them on any kind of regular basis.
Also consider what is the best method for rolling something out. Of course I've downloaded things from the website and then installed them on the computer, but it takes a while to be able to do that for every single machine; it's a very inefficient process.
I've used things like storage media. I've used things like thumb drives that I can plug into the machine and then grab drivers off of it. A lot of times what I'll do is take this, plug it in, copy a folder over to the computer, and do that on all of the 30 machines that I'm imaging, and then I just start the install process on all of those machines.
Another thing is, I've used these drives that I could take around when I was going from site to site and helping people install stuff on their machine and doing all sorts of stuff. I put all my tools on this thing so I could have it easily accessible. This is just removable media, a storage drive that I could drag from machine to machine and install off of. It gives me a lot of space — essentially it's a thumb drive, but it's much larger.
Then I've also created shared folders that I can share across the network, so no matter where I am on the network I have access to those different software packages that I can install.
I've also used deployment services. I've used a variety of different deployment services and software that helps me deploy things, so that's another example of how I can utilize tools out there to help deploy these different software packages.
I also take an assembly line approach when I'm deploying a machine, similar to a factory floor. What happens on a factory floor? A product goes down the line, and at each station something gets installed, all the way to the end.
What does that have to do with computers? Let's say there's five machines that I need to get all configured to be deployed to different users. What will happen is I'll start on the first machine, I'll do an action, and then I'll go to the second machine, do an action, third machine, fourth machine, fifth machine, and then start all over again at the first machine and do the next action, and then the next action. I make sure that all five machines are done in the same sequence, so no machine gets off.
Sometimes there's a little variety with that — maybe there are times when I'll have one machine a little bit further ahead than the other machines — but generally speaking I keep them all on the same step, and so then they all complete at the same time. I found that to be a very efficient way for me to roll out large amounts of computers all at the same time.
Here I'm on a server, and what I have on one of my drives is this shared admin folder I created. I still use this today — I create admin folders on my machines so that I can deploy things from them, and then I have a bunch of software that I can download and put onto this shared drive.
So now when I go to install these different software packages, I go to my other machine. This is the server right here, and this right here is my desktop. What I can do is go to run, and I'm going to make a connection to that shared folder. Here's that shared admin folder. I'm going to get into it, and there's all the software. I don't have it populated right now because I'm just setting it up, but this is where I could put everything to really easily access it. Now, whatever machine I'm on, I can just open up one of these and then do the install from it.
What I can start doing here — I've already downloaded a couple of software packages onto this machine. We've got the Chrome setup, so I'm going to take the Chrome and drag this over.
A lot of stuff — for instance Chrome here — is not the full version of Chrome. A lot of times when we download and install a full executable, it's not all of the files that are needed to install the program. Instead it's just the install program, and then when you open it up it'll actually go through the process of downloading all the install files and installing the program.
If that's the case, you might need to do a little extra research and figure out how you can get all of the install files, so that you're not downloading it for every machine that you're visiting. So that's one thing to watch out for: you might need to do a little more research to find the actual executable that includes all the installation files for the program.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →