Jenkins is an open source automation server present in many CI/CD pipelines. Ansible, or more recently the Red Hat Ansible Automation Platform, is an IT automation platform, available as a free open source program or as a paid program with Ansible Tower supported directly by Red Hat. Ansible’s use cases include IT configuration management, application deployment, release orchestration, and continuous delivery (CD). Jenkins is a CI/CD leader, and is deployed across companies of all sizes, and large enterprises. Ansible is a multifarious platform but is generally used to provision and configure complex networks and server setups, and therefore is more commonly used in larger companies than in small ones. The tools are often used together in a CI/CD pipeline. Red Hat offers instructions on how to use Ansible roles and playbooks with Jenkins.
Ansible and Jenkins present distinct advantages over alternatives for use in a CI / CD pipeline.
As an automation server Jenkins brings flexibility, extensibility, and configurability via a mother lode of plugins and integrations, and it is able to work with nearly any DevOps tool (GitHub, GitLab, Bitbucket, JFrog Artifactory, Puppet, Ansible). Jenkins is free and open source, but unlike some open source tools it has an excellent support ecosystem because of its large and very active community of developers participating in forums, providing guides or blogs, and who are directly recruitable to help with projects. Beyond automated builds, users can rely on Jenkins to automate tests and debugging.
To complement Jenkins or any other build automation or CI tools, Ansible is a worthy CD solution for setting up and deploying to target environments. It is lightweight and agentless and thus fast and easy to deploy, and, as it’s agentless, it is especially useful for cloud servers and infrastructure. It is doubly easy to use with human-friendly YAML playbooks that allow users to set up servers quickly, with minimal handling. Ansible also gives the user fine control over servers with infrastructure as code, allowing segments of infrastructure to be defined in Ansible Playbooks, which are quick to develop and reusable with templates.
While Jenkins and Ansible are popular options, there are a few reasons one might choose to exclude these options from their Continuous Delivery pipeline.
Jenkins lacks certain conveniences for collaborating teams: there is no standard Jenkins deployment so implementations can be idiosyncratic. It also has a UI that is hard to understand and can easily overwhelm users who are managing many projects; this worsens when there is more than one person attempting to contribute. The price of Jenkins being supported by an open-source community, rather than dedicated support, and having nearly infinitely flexible and configurable is that troubleshooting can be hard, with well-meaning community members being unable to help any particular developer with his potentially quite unusual Jenkins setup.
While Ansible’s agentlessness is good for many reasons, it relies on SSH to achieve this, and users sometimes express annoyance at relying on an SSH connection which may not meet all particular users’ security needs. Ansible’s paid service (Ansible Tower, formerly AWX) is required for job scheduling, but it is less well reviewed than other Ansible features, and paid support strikes some as not worth the (high) cost. Using Ansible with Windows servers may not be up to par with vs.using it with Linux or Unix-like systems.
Jenkins is released under the MIT license and is totally free and open source. Services for Jenkins, may pose a cost, such as CloudBees CI, a governance and team management system for Jenkins that addresses its weaknesses. Ansible is also open source and free to use as an IT automation tool and configuration management tool. The paid version of the Ansible Automation Platform, with Ansible Tower, is available on Standard and Premium plans, with the primary difference being that Premium presents 24×7 support, vs business hour support on the Standard plan. Pricing is based on the number of nodes (systems, hosts, instances, VMs, containers or devices) and is acquired on an annual license. Pricing is not published though sources show licensing costs from roughly $5000 per year for up to 500 nodes, to $20,000 per year for up to 1000 nodes, and Premium support.
Provided by the TrustRadius Research Team
Published on September 11, 2020
Likelihood to Recommend
- Automatic jobs: there are infinite possibilities when it comes to Jenkins. You can run code against any testing suite you can imagine or conjure up. You can deploy applications at any time anywhere, automatically with no human intervention. If a certain stage fails, it will notify the team and your sysadmin of the issue so you can resolve it as quickly as possible
- Automatic rollback: because of how Jenkins works, it can hold off publishing code and integrate locally to run QA procedures before pushing to deployment. This means that bugs are caught before your servers are updated and prevents a faulty program from affecting your downtime in the first place. Its a game changer for high availability.
- Agentless. For our implementation, this is the single biggest factor. If we have to touch the machine and install an agent before we can start managing it, that's already too much effort and slows us down.
- Re-entrant. This is not unique to Ansible, but certainly a huge improvement over custom scripts and such. Because it's such a huge effort to make scripts re-entrant, most of our scripts did not allow an elegant way to recover on failure. Manually cleaning up the half-attempt and re-trying is still too cumbersome, and being able to just re-run Ansible is a great improvement!
- Infrastructure as code. This is new to Ansible, and there are still a few minor bugs with their AWS modules, but it's been a huge help being able to define our infrastructure in an Ansible playbook, commit it to source control, and use one tool for all our DevOps tasks.
- Once we organized a hackathon with our GitHub Storage. Jenkins was integrated at that time. We had a 20GB plan, but it oversized to 50GB. We had to bear a large sum of money which was unpredicted by our company. Being a startup we cannot bear such mistakes.
- Jenkins cannot be easily studied and managed. We have to recruit personnel part-time for managing and servicing the server.
- Though it is open source, there is no dedicated community driven forum or support. There are 3rd party discussion and support portals. Thus, we use Gitter always for debugging and solutions.
- Ansible Tower is a paid service, which can be annoying at times. But that is understandable, as it requires an additional level of support from the Ansible team to develop.
- There is a decently large learning curve for someone not familiar with setting up Unix environments. However, there is a very large support community with tons of documentation, so it's not a dealbreaker.
Return on Investment
- Low investment: As the software is open source, there is no purchase required for on-premises installations, and there is a low barrier to entry for companies offering hosted solutions. This leads to competition on price, and therefore lower prices.
- Saves time by automating manual tasks: There are often a lot of repetitive tasks that need to be done to prepare for a release, and Jenkins enables these tasks to be run easily and frequently (for example, running tasks on every pull request)
- Near-immediate returns: Spend a day or two and easily automate most common tasks. Reports are visible so that managers and team leads can keep an eye on code quality.
- We have been able to deploy solutions to client issues without impacting uptime.
- Most system administration tasks have been automated so I am now free to work on architectural improvements or customer support.
- Our customer support has improved thanks to Ansible as it has allowed me more time away from repetitive system activities so I may assist with customer questions and application testing.
Premium Consulting/Integration Services—
Entry-level set up fee?
Jenkins Editions & Modules
Additional Pricing Details—
Premium Consulting/Integration Services—
Entry-level set up fee?
Ansible Editions & Modules
- per year