From experience of having been involved in providing deployment services, I have found that organizations can waste time creating and maintaining images for each device they support. A constant source of frustration for many is the time it takes to find and download all the drivers needed for an image, couple this with decreasing budgets along with resource and time constraints; it is immediately apparent how software application deployment tooling can save time and cost.

An efficient software application deployment and management tool can help organizations complete deployment activities faster and with less hassle, no matter the size of the organization.

Broadly speaking the following can be achieved depending on the environment:

  • Minimize the need to alter an image for a new platform; use a single image for all hardware devices and virtualization platforms.
  • Bundle Drivers in simple packs to be applied at deployment time.
  • Simplify inventory management by not having to keep sample PC’s and dedicated hardware via managing images in a virtual machine on a local system.

In addition, depending on the Image management tooling selected, organizations can possibly benefit from not having to pay for incremental per-device licensing costs and in some cases image formats can reduce storage requirements by 50% percent or more.

As large scale deployments can be complex (Campus Locations Vs. Satellite locations ((home workers etc)) it is important to consider that some software application deployment tools do not require any infrastructure in that they work well in both online and offline environments.  This benefit can simplify image and driver management and free the network during deployment to reduce bandwidth utilization.

From my point of view, effective and efficient software application deployment tooling should integrate well with Windows Deployment Services and other management solutions.

As well as providing the following:

  • Repeatable builds
  • Consistent environments
  • Autonomous packages
  • Ease to-do / un-do releases

What else do you think are important components of a good software deployment tool?