Summary of Findings
- Tools like Chef, Puppet Ansible and SaltStack allow IT administrators to automate the configuration of cloud services, in addition to internal data centers.
- These upstart tools have also completely moved away from any kind of batch processing, to be event-based configuration allowing, for example, new cloud resources to be provisioned and configured automatically during peak demand.
- These DevOps tools are not all the same. As early reviews make clear, Ansible is much lighter weight, and easier to use than other tools. Chef is more powerful, but also requires developer-level resources. Puppet is the most established product, but has a steep learning curve.
- Large enterprise vendors like VMware and HP have taken notice, and some have made significant investments. Ansible is in the process of being acquired by Red Hat, but look for further acquisitions in this very hot space.
Our review density is low today, and we welcome additional reviews of these products from experienced users.
DevOps, Agile and Workload Automation
The topic of DevOps has generated enormous buzz over the last couple of years, and is closely related to agile development processes. One major consequence of agile development adoption was to break down the walls between product development, product management, potential customers, and QA. DevOps extends this concept by demolishing the last wall between product development and IT.
App deployment, and how the app works in the IT infrastructure, is a top-line concern of development. The artificial barrier between “development” and IT system infrastructure is erased. The product is no longer just built and thrown over the wall to IT; both development and IT work closely together to ensure that everything works as planned right up to the moment where it’s delivered to the end user.
DevOps includes many different software categories like build management, virtualization and containerization, and system monitoring. But workload automation is also a critical component of the DevOps universe, since workload automation tools are all about automating IT processes, including the deployment of applications in the data center and in the cloud.
What exactly is workload automation?
Workload automation has become much more important as infrastructure has evolved from dealing with individual applications to complex virtualized infrastructures which cannot be managed effectively without automation of some kind.
Workload Automation developed from job scheduling software for running batch processes like payroll, processing inventory levels for re-stock, credit count account processing, and other business-critical processes. A large number of processes enabled by IT are scheduled rather than being performed in real time. However, traditional time-based schedulers have been eclipsed by event-based schedulers that respond in real time to business orders instead of doing them by batch. This new breed of event-driven schedulers have necessarily evolved to include features like dynamic resource management to make sure that resources are always available to fulfill business processes as necessary.
Workload automation tools are capable of handling event-based scheduling and resource management across a complex amalgam of applications, databases and architectures, both physical and virtual.
One of the biggest benefits of a comprehensive workload automation tool is that replaces the jumble of application-specific schedulers, and provides IT administrators with a single view of workload requirements across the enterprise. This view allows administrators to plan for business events like marketing promotions that might otherwise overwhelm IT system resources.
Upstarts generating interest from established vendors
Enterprise workload automation tools have been around for a long time, and this is not by any means a new category of software. A number of pre-cloud, pre-DevOps legacy enterprise products have, in fact, dominated the space:
- BMC Control-M was originally designed for mainframe computers and was acquired by BMC in 1999.
- VMware’s vCloud Director was retired in 2013, with some of the functionality moved over into vCloud Automation Center.
- HP Operations Orchestration was acquired from Opsware in 2007
- ActiveBatch from Advanced System Concepts is a Microsoft-centric solution.
These products are well known, and have large installed bases, but renewed excitement in the category has been generated by the newer generation of event-based products: Puppet Data Center Automation, Chef, Ansible, and to a lesser extent SaltStack. These newer products are generally less robust in terms of features, and are designed for build, deployment and configuration management (DevOps), while the older products are more business-process-oriented. The large legacy firms are carefully monitoring these upstarts though, and all three of them are already in play to various degrees:
- VMware made a $30m equity investment in Puppet Labs investment in 2013
- Ansible is in the process of being acquired by Red Hat for a figure rumored to be in the neighborhood of $150m.
- Chef raised a $40m Series E round in September 2015, with Hewlett-Packard as a major investor. HP is already a customer and reseller and further investment seems likely. They have also partnered with Microsoft to extend workload automation to Microsoft platforms.
Workload Automation on TrustRadius
Ansible, like Chef, is a completely open-source tool used primarily to deploy applications in an automated way. It is relatively easy to use and has an easy learning curve, but is less powerful than competitive products. The product has enough reviews on TrustRadius to make feature-rating data relevant:
- Lightweight: Ansible is much lighter weight than Chef and Puppet, and better suited to smaller environments. It has a low learning cure, and is ideal for automating repetitive tasks like restarting services, copying files etc.
- Server deployment: Very easy and fast to deploy server images.
- Free/Low cost: The core application is free. Some additional modules, such as Payroll and Payments, require a subscription, but users say they are economical.
- Documentation: Ansible has excellent documentation and a very supportive community.
- Docker and Rackspace integration: Strong integrations with Docker and Rackspace
- Relatively new product: Ansible is still in its infancy as open-source automation tool compared to competitors like Puppet and Chef, and does not have all the built-in capabilities of those products.
- Not scalable: Ansible runs tasks individually over Single Shell (SSH) providing encrypted secure for non-secure networks, can be slow for large numbers of tasks.
- One-off tasks: Ansible is not suitable for one-off tasks due the amount of setup required
- Integration with ServerSpec: Integration with ServerSpec for infrastructure testing is not clearly documented
ActiveBatch began life as a cross-platform job scheduler, and developed into a workload automation system with a central interface for managing jobs across an enterprise infrastructure. In 2012 it added the ability to schedule and automate tasks in the cloud.
- Easy to use: ActiveBatch is very easy to use by non-technical end users. Many tasks can be accomplished using the drag/drop functionality of the pre-built jobs library.
- Integration with 3rd-party products: ActiveBatch integrates well with 3rd-party encryption, file manipulation software, etc.
- Security: Allows admins to secure every element of the system.
- Make it easier to find scheduling objects: It is currently too easy to create scheduling objects that already exist, even if they have slightly different wording, resulting in object bloat.
- Logger interface: The logger interface could be improved to make it easier to use, and also make it easier to export log files to various formats.
- Updates: Updates sometimes break previously working functionality, particularly trigger functionality.
This technology was acquired in 1999 and was originally designed for mainframes, although it has been extended to multiple distributed computing platforms. Although for many years Control-M was a category leader, the agile upstarts have challenged its position in recent years.
- User-friendly interface: Scheduler interface is very user-friendly, and Control-M Self-Service interface for exposing workflows is equally user-friendly.
- Gantt chart: Gantt chart indicating when jobs are to run is very useful when scheduling downtime.
- Documentation: Excellent quality product documentation.
- Administration tools: Very powerful administration tools and great customer support.
- Reports: Reports are clunky and hard to use.
- Inadequate or missing log data: In the event of job failure, log information was sometimes unavailable to troubleshoot the problem.
- Migration: Migration from other job schedulers can be very tricky.
- Visualization: Lack of visualization options beyond Gantt charts
Chef is an open-source tool centered on Git and has a strong focus on developers for its user base. It has a very steep learning curve for non-developers and is quite a complex product.
- Developer-friendly: Very strong programmatic approach to automation that works well for developers.
- Reports: Some problems using Chef Solo (open-source chef client) with the Vagrant development environment, and also on production environment managed by RightScale.
Puppet is perhaps the highest profile, and best known of the new generation of tools Puppet is also an open-source product but there is a commercially supported version from Puppet Labs which is a good choice for large enterprises with complex deployment requirements.
- Uniform server deployments: Puppet enables uniform configuration across application servers.
- Easy software deployment: Effective software deployment without having to understand the nuances of each application.
- Operating System agnostic: Puppet can translate commands between Operating System distributions.
- Dashboard quality: Open source version of the product does not have a usable dashboard.
- Steep learning curve: Better to start small and work your way up to more complex uses in order to learn product comprehensively.
- Needs additions: Although Puppet is a good product, it requires additional products like Hiera (key/value lookup tool), R10k (for deploying Puppet code) and Git (version control) get the best out of it.