Hey Newbies,
I hope this small guide will give you some insight on many of the terms and practices for managing your systems. Whatever sucker that hired you will sure be glad they did once you learn some of this stuff.
Well it might not make you an expert but it will help you be a smart newb and that is the first step.
In all seriousness though, these post and site links will save you a lot of headaches and it has for most of us.
Software Packaging:
Apart from the basics of managing a single computer, managing multiple computers and certainly thousands will involve managing the software that is installed on them. This includes the initial installation as well as future updates. Planning the technical aspects of your organization around the management and delivery of software is one of the best ways to ensure an easier to manage environment down the road. Take a look at the below items to get your mind wrapped around packaging software.
Working with Single File installation packages (Quick overview)
http://www.installsolutions.net/Documentation/Working%20with%20Single%20File%20Installers.pdf
The Basics of Repackaging Software
This gives in great detail an overview of why you might want to repackage software and how to accomplish that using Wise Package Studio or something similar.
http://www.altiris.com/upload/wps_repkg_basics_whitepaper.pdf
Some things to keep in mind as you plan for environment changes:
- Rollback or Uninstall - This is probably the thing that is left out the most. Some software can simply be removed via a command line, however, some apps may need a custom back-out procedure. Make sure you have a back-out plan.
- Testing procedures - Make sure you have a defined check-off sheet that has each steps for testing. Get a real end-user of the software to test out the application.
- QA - OK, so testing goes well but is there something in the installation script that is not following best practice? Another set of eyes from a Quality Assurance team would certainly help the odds that the software package is not replacing system files etc.
- Pilot - Before deploying software everywhere make sure it works in production. Target a small percentage of the population of the total machines first.
- Help Desk and Customer Impact - Or potential impact. Is your support staff ready to field a flood of 5,000 angry users at a time if your software deployment goes badly? Can you implement a rollback on 5,000 machines if you had to? If not then cut back the deployment into smaller chunks.
- Bandwidth impact - Bandwidth is the single greatest limiter to all of the cool things we wish we could do for our systems. Make sure that the deployment staging and time windows are not going to impact customers that may need their bandwidth for something else.
- SLA's - It may sound silly but Service Level Agreements with your internal customers is very important. Make sure you have adequate time for packaging, testing, QA etc before agreeing to a rollout date. It may take a few rounds of the above items before you know for sure. 1 - 2 weeks before beginning production rollout is not uncommon in large organizations.
Helpful links:
AppDeploy.com - Has tons of information on software packages that are commonly deployed. You can find command lines for running packages silently so you don't need to repackage.
InstallShield Command-Line Parameters - InstallShield packages have some strange command-line switches for running silently. But in most cases, especially with the newer ones, it can easily be done.
MSI installer command-line options - MSIs are great for deploying because they usually all use the same switches for running silently.
Altiris (Wise) - Wise is simply the best packaging solution there is. Become familiar with Wise Scripts as they will make you look like a hero when you get in a crunch.
Experts, please add info to this thread as I am sure there is more to know.