Software deployment tools give organizations an easy way to ensure that software bundles get properly installed. This is a particularly important requirement if you develop your own software in-house. Packaging the programs and setup processes together ensures that no element of installation gets overlooked.
It is very common for software to require supporting services installed on a computer in order for them to function correctly, so putting everything into an installation wizard removes the problem of installation slip-ups.
Automating software rollouts means that you can deploy new applications on all machines, or just selected computers overnight while everyone is out of the office. This is particularly important if the new package requires a computer reboot in order to deploy correctly.
Here is our list of the nine best software deployment tools:
- Syxsense Manage EDITOR’S CHOICE An endpoint management package that includes software inventory management and patch management. This is a cloud-based service. Start a 14-day free trial.
- Atera (FREE TRIAL) A package of remote system monitoring and management tools that enable you to manage several sites from one location. This is a cloud-based service. Start a 30-day free trial.
- ManageEngine Desktop Central An endpoint management system for the IT department that includes remote software deployment tools. It installs on Windows Server and Linux.
- Atlassian Bamboo A continuous integration environment for software development that includes a software deployment module.
- Octopus Deploy A choice of on-premises software or cloud service that manages the installation of software, pre-checking for system compatibility. The on-site version installs on Windows.
- AWS CodeDeploy A cloud-based system that is free to use for software deployments on an AWS server and cheap for on-premises releases.
- Google Cloud Deployment Manager A software deployment tool that can be used for releases to Google Cloud Virtual Machine Instances for free and is also available for on-premises software release management.
- Jenkins A free, open-source software deployment tool that can be adapted by plugins. It installs on Windows, macOS, and Linux.
- GitLab CI/CD A software development pipeline environment that includes software deployment through GitLab CD. This environment is available as a cloud-based service or for on-premises installation on Linux.
Remote software deployment
If you manage more than a couple of endpoints, you probably won’t expect to need to visit each workstation to install the software. Remote software deployment systems can operate over a network. These networked methods to deploy software packages can operate just as easily over the internet. They will enable you to roll out software deployment across several sites from one central location.
The big advantage of remote software deployment tools is that they enable you to standardize the software inventory on all your devices. You can create a profile for each job description and each device type. Once that package is settled, onboarding new employees into the system becomes very simple.
Remote software deployment systems include task automation, so when a new software package needs to be deployed on many endpoints, that task can be carried out by the tool with just one click. Automated software deployment tools also include status reporting, so it is possible to see if any of the installation processes failed.
The best software deployment tools
Enabling software to be rolled out from one central location means that software deployment doesn’t need to involve any effort from the users of the system.
We researched the best software deployment tools that will suit all sizes of enterprise. On this list, you will find some free tools and others that are suitable for very large, multi-site organizations.
Syxsense Manage is a SaaS endpoint management platform that works with desktops and servers running Windows, Linux, or macOS and also IoT devices. As a cloud-based system, this service isn’t limited to managing the endpoints on one network. It is able to supervise devices on many sites and treat them as one group. It can also include the management of individual devices in the homes of telecommuting staff and treat them as part of a single pool of resources.
The system is able to discover all of the endpoints on one network, given a starting point, driven by an onsite agent. In order to include the endpoints on other sites, so simply install an agent in each of those places. The result of that network search is a device inventory, which logs information about each endpoint. The service then searches through each device, cataloging its software, from the operating system up.
The software inventory that the software inventory creates includes the version numbers of all installed packages. That information is used by an automated patch manager that is contained in the Syxsense Manage package.
The patch manager watches for the availability of patches and updates for the operating systems and software listed in its inventory. When a patch becomes available, Syxsense copies over the installer to the cloud storage space for that client – each account gets an allocation of 50GB of cloud storage.
The system administrator needs to set up a maintenance schedule that indicates periods within each week when patches can be installed. When Syxsense Manage gathers patches, it waits for the next maintenance period to install them on all relevant endpoints.
The device and software discovery procedures operate continuously, so the patch manager always knows which patches to look out for. The device and software inventories for part of a document base, stored on the Syxsense cloud servers. The Manage system also logs all of its actions, such as patch installation and this information pool is available to be generated out as reports to show compliance with PCI DSS, SOX, and HIPAA.
The service, while documenting the operating systems on each endpoint, will highlight misconfigurations and recommend changes to settings. It also allows you to set up a standard endpoint configuration, including a software profile, that can be used to automatically onboard new devices.
Syxsense Manage is a subscription service with prices starting at $600 per year for 10 devices. You can experience Syxsense Manage on a 14-day free trial.
Syxsense Manage is our top pick for a software deployment tool because, being based in the cloud, it is not limited to managing the endpoints on one site. This tool can set up software profiles for a typical endpoint of a specific type and automatically onboard those devices – including desktops operating in the homes of remote workers. This system also includes an automated patch management service.
Get 14-day free trial: syxsense.com/start-a-free-trial-of-syxsense
OS: Cloud Based
Atera is a package of tools that is designed for use by managed service providers (MSPs). The system includes both remote monitoring and management (RMM) tools for use by technicians and professional services automation (PSA) systems for use by the MSP’s management to run the business. The facilities ands storage space are designed on a multi-tenanted architecture, which keeps the data of clients completely separate.
Within the RMM section of the platform is a set of tools for managing the software assets of a client. This includes the creation of an inventory for each of the endpoints operating on the network. The information gathered by this process is consolidated in the Atera dashboard to provide an overview of all packages that are currently installed. This constitutes a software inventory and feeds through to software license management.
The software asset inventory service is driven by on-device agent, which are available for Windows, Windows Server, and macOS. The package also includes an automated patch manager and maintenance routines that regularly clear out temp files and free up system memory.
The PSA functions in the Atera platform include automatic activity logging for technicians so all of the time devoted by staff to each client is tracked and fed through to billing. The PSA also enables full tracking to ensure that SLAs are complied with.
The Atera system is available in three plans. This gives a flexible per-technician pricing structure that makes the system accessible to businesses of all sizes. The platform is hosted by Atera so you don’t need to install or maintain the monitoring software on your own servers. The console for the service can be accessed through any standard Web browser. The system includes options for integration with third-party tools that facilitate automated information exchanges for related tasks, such as invoicing. You can assess the Atera package on a 30-day free trial.
ManageEngine Desktop Central is a package of tools needed by IT departments to manage a fleet of endpoints. The service is capable of managing devices running Windows, macOS, Linux, iOS, Android, and Windows Mobile. This system management package includes a number of tools to successfully organize remote software deployment.
The software deployment system of Desktop Central doesn’t just begin with a package that needs to be rolled out. The system includes a Software Repository, where all installation bundles are stored. This gives you a single location from which to assemble packages of approved software that can be rolled out in bulk to set up a group of devices, or installed on one device when a new employee gets enrolled.
Not every installation is going to be successful on every device. There are usually underlying reasons for this that concern the state of supporting services on a particular device. Desktop Central includes automated processes that will check every computer on which a piece of software is about to be installed to ensure that they meet the system requirements for that application.
The systems administrator can create installation wizards to let the users install software on demand. These packages also enable the same software to be uninstalled. Desktop Central includes a self-service portal, which is one of the ways that you can make software available to users. This is particularly useful for BYOD environments where the systems administrator might not be able to get direct remote access to every device.
Software deployment can be scheduled for out-of-hours installation. The systems administrator doesn’t have to sit at a desk overnight to watch all of this activity because a status report generated for each installation attempt will indicate whether all devices were updated successfully.
Desktop Central installs on Windows Server and Linux. It is available for a 30-day free trial.
Atlassian Bamboo is a software deployment system that is bundled into a software development management tool. The system manages the building, testing, and rollout of software, so this is a suitable service for businesses that develop their own utilities in-house.
The full Bamboo suite is called Continuous Integration and Deploy Server. This is a fancy name that just means the environment guides an entire software development project all the way through to the new programs being installed on the organization’s endpoints.
The software deployment section of this tool would be suitable for software houses that want to distribute updates to existing clients. It can also be used to produce download installer packages for new software sales. The Bamboo system manages software deployment, monitoring each installation process. This enables it to provide immediate error reports if an installation hits a problem.
Atlassian Bamboo is able to integrate with other software development platforms, including Jira and Bitbucket, which are also properties of Atlassian. The software deployment section of the tool can be replaced by external systems, such as AWS CodeDeploy.
Bamboo is a Java-based application and it will install on any server that has the JDK service operating. The software is available for a 30-day free trial with unlimited users.
Octopus Deploy is geared towards the release of produced software but it can also be used to roll out bought-in software packages. The system ships with a library of templates, which include system variables, making them highly adaptable. Those templates enable the same environment to be set up during development and testing and ensures that when rollout occurs, the software will deploy successfully.
The service includes two sections, one is a release management tool that implements initial software deployment and the other is a system of runbooks, which examines compatibilities and supporting services on endpoints to ensure that the new software will run successfully on that particular machine. This is a way to ensure that the new applications will deploy successfully. Once a runbook has been created for a software package, it can be run by anyone, enabling end-users to run an installation wizard and be sure that the software will install successfully.
Octopus Deploy is a good choice for Managed Service Providers (MSPs) because it recognizes the issues faced by multi-tenancy environments. This is a great time-saver across client accounts. This is because by building up a library of deployment processes over time, the technical team can repeat the actions performed to install a specific software package on one client system to another client’s endpoints without any extra work.
Octopus Deploy is available as a cloud service, called Octopus Cloud, or for installation on-premises. The on-premises version is called Octopus Server and it installs on Windows. Both versions are capable of installing software on Windows, Linux, AWS, and Azure. Both Octopus Cloud and Octopus Server are free to use for up to 10 deployment targets. For higher volumes, Octopus Cloud is charged for by the month and Octopus Server is charged for by the year.
AWS CodeDeploy is a fully managed software deployment system offered by the cloud computing market leader. As you would expect, this service will roll out software to AWS server resources, however, it is also able to deploy new software on your own in-house servers. So, you don’t have to be a subscriber to AWS EC2 in order to use it.
This software deployment tool promises full process automation for releases. It is also possible to continue to use the system to update existing software. CodeDeploy can be used by in-house software development teams and also by system managers rolling out bought-in software.
When a business wants to operate an incremental release of a created application, there can be problems with new elements as they get added and rolled out. CodeDeploy continues to monitor the performance of new software after it has been deployed, noting the existence of errors that could indicate system incompatibilities or bugs in the code. The CodeDeploy system includes the option to rollback unsatisfactory updates to remove problematic updates.
AWS CodeDeploy is free to users of AWS EC2 and Lambda services. For those who use the software deployment tool as a standalone service, there is a charge of $0.02 per instance update, so there is nothing to pay until you actually release a piece of software.
Google Cloud Deployment Manager is a service for software deployment that includes process automation and status reporting. The first task, when planning to deploy new software, is to set up a template for the rollout, which is a repeatable installation script. Once a software installation template has been created, it is stored for repeat actions. So, you can test your deployment process and then schedule the rollout in bulk for out-of-hours processing.
A typical deployment package for a software release includes system checks and the installation of supporting services before the main feature of the deployment action is installed. This ensures that the system administrator can account for all eventualities and roll out to any machine without having to perform individual pre-installation checks on the entire fleet of endpoints.
Google Cloud Deployment Manager can be used to install new software on a Google Cloud Platform Virtual Machine instance and, in these cases, there is no charge for the deployment service. The Google system is also capable of implementing software deployment on-premises. In these instances, there is a charge for the service. Google Cloud Deployment Manager can be sampled on a trial through the Google Cloud $300 Credit scheme for new users.
Jenkins is a very attractive software development and deployment system that might draw your attention because it is free to use. Jenkins is an open-source project, so you can even get the code and adapt it for your business’s specific needs.
The Jenkins environment supports the entire software development process from planning, build, testing, to roll out. The software for Jenkins can be extended with plugins, which are also available for free. With so many great features and no charge at all, you would probably wonder why anyone would ever consider any other software deployment tool. The big problem that prevents a lot of businesses from using the Jenkins system is that it doesn’t come with a professional support package.
If you are OK with a community-supported service, you will find that Jenkins is very easy to install and use. The extensibility of the environment is impressive. However, all of those adaptations and options can be time-consuming to research. If you are a busy system administrator, you might find that the time you need to investigate and try out all the plugins that make that system so appealing is actually a bit of a curse.
Jenkins can be installed on Windows, Linux, macOS, and Unix. It can be used to pipeline software development through to deployment or as a release management solution to rollout bought-in software.
GitLab is a software development and code repository system. GitLab CI is an evolved software development platform that aids in the management of programming coordination and version control to create a build and test framework. GitLab CD is the software deployment companion to GitLab CI.
The GitLab system is primarily focused on software development, so the GitLab CD isn’t really suitable for businesses that have a core activity elsewhere. This isn’t a good service for systems administrators that need to roll out bought-in software. However, it is a very strong contender for software developers that want to build a system incrementally and deploy modules as they become available.
GitLab CD offers a range of software deployment options, including the use of containers for software implementation. This route, which integrates with Docker, enables software developers to focus on the activities of the program without the need to be concerned with the system compatibility of any intended host machine for the software.
Linking GitLab CI and GitLab CD together ensures that the development and test environment and the systems on which the software will eventually operate are identical. This removes the problems of endpoints not being properly configured to optimize the performance of the new software or worse, failing to provide the assumed supporting services that developers require for the new software to run.
GitLab is available for on-premises installations or as a Cloud service. In each version, there is a free tier and three paid editions. The on-premises package of GitLab CI/CD runs on Linux. Both the cloud and on-premises version of GitLab CI/CD can be accessed on a 30-day free trial.
Choosing a software deployment tool
There is a great range of software deployment tools on the market at the moment and all of them have merit. Be careful about signing up for a badly-written, buggy tool, though because they can end up wasting more time than the task of manually installing software on each endpoint.