TrustRadius
Ansible is an open-source workload automation software acquired by Red Hat in 2015.https://media.trustradius.com/product-logos/ai/vQ/ATKTZ7HRC8TF.PNGAnsible-- Chef has been outcookedAnsible is a tool used by our head DevOps engineer and others who elect to do so. It is mainly used for automating server setup/tear down and ensuring concurrency exists across all our application platforms. It's an incredible tool for setting up any environment without having to install the program on the server you wish to target.,Automating any machine-level processes that you need to do to set up an environment. Great for sending out consistent changes to a group of servers.,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.,9,Allowed us to manage our large application server groups as if they were a single machine. Gives you a ton of freedom in how you want to set up your instances without worrying about how you're going to manage updates. Gave our lower-level developers the possibility to change environment-level qualities that they otherwise would've never understood how to do.,Chef,Chef, Amazon Route 53, Amazon Glacier,9,8Ansible: a great way to get started with automated deploymentsWe are using Ansible to configure our servers and to deploy our software to those servers. Our developers use it to deploy updates to staging and production environments, which enables them to work more in a DevOps role.,Playbooks double as documentation of server environments. Makes it easy for developers to deploy. Automates the deployment process.,Some of the modules could use more features.,9,It has sped up our deployments considerably. It has help developers do more DevOps work.,Chef,GitHub, Apache Subversion,9,9Manage your servers with the least effort.Ansible is being used by a certain department for testing purposes. We tried it for a while and had an evaluation on it. It is a very nice tool for managing the servers we have on cloud. It is easy to use and powerful to manage all the servers we have. We are very happy with the result.,It is very easy to implement. It controls the servers with configuration and executes it well It is not that pricy.,With its easiness to learn, you still have to do most of the things in Bash. Would be nice to have UI. Enterprise support is not that good. Windows can be a pain.,8,It makes server managing easier. It increases the efficiency of our operation team. It helps the whole team be at the same pace.,Puppet Enterprise (formerly Puppet Data Center Automation), Puppet Pipelines (formerly Distelli), Docker, Kubernetes and Google Kubernetes Engine,Docker, Puppet Enterprise (formerly Puppet Data Center Automation), Google Kubernetes Engine, Kubernetes,9,9Ansible makes deployments convenient and consistentWe use Ansible every day in our CI/CD pipeline. With everything in AWS, and constantly setting up new instances, other agent-based products were out of the question. And since Ansible has added so much AWS management to it's latest versions, we can manage infrastructure just as easily as we deploy our application. There is no way we could keep up with the developers without Ansible.,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.,Syntax. Lacks descriptive error messages. The most basic errors are easy enough, but the more edge case errors can send you on a wild goose chase real quick. Open Source. In many ways, this is a good thing, but it also means support is limited to community forums and such. So many people use it that it hasn't been an issue for us, but it means researching your own answer instead of just calling support.,8,Our deployments went to a CI/CD model a while back, and there's no way we could keep up if it wasn't for Ansible. It was convenient when we started using it, but Ansible is now essential for our small DevOps team to keep up with the rest of the business. We keep automating more and more with Ansible, just so that we can stay sane.,,CircleCI,7,9Ansible Now!Ansible helps us with configuration management, application deployment, task automation. It also does IT orchestration, where we have to run tasks in sequence and create a chain of events which must happen on several different servers or devices. In short, we use Ansible to handle complex tasks with a tool which is easy to use.,Unlike Puppet or Chef, Ansible doesn’t use an agent on the remote host. Instead it uses SSH which is to be installed on all the systems we want to manage. Ansible is written in Python, which we install on all remote host. This means that we don’t have to setup a client server environment before using Ansible. Ansible can work alongside our other DevOp tool, Chef. This allows us to reach out to existing Chef teams in order to try and organize their work all under the same DevOps umbrella.,Unlike Chef, Ansible employes a Push methodology rather than Pull. We found that this doesn't scale well for us, thus we had to consider using Ansible Tower in order to scale. Ansible's free training and tutorials do no provide as much depth and ease for first time users trying it out for the first time. From the limited experience we have had with Ansible Tower, the UI is not very user friendly. There's a lot of bells and whistles that can prove o be overwhelming at times.,7,Ansible has definitely helped our security team keep our servers up to date on the latest vulnerabilities through their continuous team of patch deployments. The time to market for our code deployments have sped up 3 fold at least and is expected to continue improving as more teams are comfortable with DevOps framework. Ansible is open source and free, which is great. But for an enterprise deployment, we had to budget for extra nodes as Tower only comes with licenses for 10.,Chef, SaltStack, Gitlab and Puppet Enterprise (formerly Puppet Data Center Automation)Ansible is great for quick deploymentAnsible is currently being used by our integration and infrastructure team. It is used across the whole project. Ansible is being used as a rapid deployment solution. It is being utilized as a tool to speed up the deployment of our system and make the deployment as turn key as possible.,Easy to learn programming. It just utilizes YAML which is easy to learn and doesn't take as much time to pick up. Fast deployment. If you are allowed to use SSH in your architecture, it is a very fast deployment. Repeatability, you can deploy a node many times and get the same result each time.,Ansible currently doesn't have a way to keep a node in a current state like what puppet or DSC can do. Ansible uses SSH which sometimes is not a good security practice. You have to be good to set up system totally with secure SSH keys, Sudo, etc.,7,Easy to deploy. Ansible is free. Helps users deploy clusters.,Puppet Enterprise (formerly Puppet Data Center Automation),Puppet Enterprise (formerly Puppet Data Center Automation),8,7Ansible - great for simple configurationsAnsible was used by the DevOps team to configure our computing clusters along with Terraform. It addresses the challenges involved in managing the configuration of our computing infrastructure. It is an excellent complement to Terraform because Terraform manages the cloud infrastructure creation (e.g. the VPC, instances, security groups, etc). Once the cloud infrastructure is created, Ansible can be used to configure the instances. Things, like configuring the services on the instances as well as installing and configuring software, can be handled by Ansible. Also the lightweight nature of Ansible - only requiring ssh is beneficial.,Installing and configuring software on instances. Lightweight footprint. No agent required. Predictable execution. Generally, the playbooks are run top to bottom.,Scheduling is not included in the OSS product, requires a purchase of Ansible Tower. Relies solely on a reliable SSH connection. No protection against concurrent playbook runs.,8,Ansible has allowed us to automate the configuration of singleton services like InfluxDB. Previously, the time series database had to be configured by hand which was time-consuming and error-prone.,Chef and Puppet Enterprise (formerly Puppet Data Center Automation)Our experience with AnsibleAnsible was used mainly for provisioning our internal virtual environments and containers. It was used only in the IT department of course. Different environments were provisioned with our custom Ansible roles. We have been also experimenting with Ansible for Docker. It is a good alternative to the Dockerfile for creating containers.,Easy YAML syntax Provisioning over SSH. Management sever is not needed Big community,Python 2.7 was required for the older versions SSH as a requirement by default Not as fast as container driven development,10,Ansible heped us to organize our management process.,,Docker, Kubernetes, Puppet Enterprise (formerly Puppet Data Center Automation)Ansible is simple and powerfulAnsible allows us to manage our systems with over SSH with an easy to read YAML format. It is easy to check playbooks into source control to share with others in the organization. Ansible playbooks are easy and quick to develop. The speed at which we can create new playbooks ensures that more of our systems will use configuration management.,Communication over SSH YAML syntax Python modules,More difficult than something like Chef to enforce a source of truth or official playbooks in an organization Ansible AWX isn't quite there yet,10,Easy concepts allow us to bring new employees up to speed quickly Ansible makes adding configuration management to existing servers painless, adding more consistency to deployments quickly Writing Ansible playbooks is much quicker to iterate over during development than writing Chef cookbooks.,ChefDevOps Swiss Army KnifeAnsible is a powerful tool for many DevOps cases, including generic automation scripts, configuration management, and infrastructure orchestration. We've used it mainly for complex application deployments - for each application, we wrote an Ansible playbook to deploy the application and all dependencies to target Chef-managed environments. The deployment process for each application varied a lot and was often very complex, and each playbook would have different logic for configuration and validations. Those applications ranged from J2EE applications to cron jobs. Target VMs would range from Tomcat application servers to plain Linux machines. I have also used Ansible for other uses such as for simplifying interaction with a large cluster of nodes to perform system administration tasks (e.g. fetching logs, investigating issues across nodes of a cluster..etc). I have also used its Python library to create custom automation scripts. It worked very well for all cases above.,Decentralized configuration management - Ansible supports "desired state" syntax and is a great alternative to centralized configuration management solutions. If you think that maintaining an infrastructure is an overkill for your needs, then you should consider Ansible. Ansible is "agentless" and all you need is version control, SSH access, and proper organization skills! Great for writing clean and readable automation scripts. In my opinion, Ansible Playbooks are the new Shell scripts. It enforces readable structure yet maintains a great flexibility. Add to that, the ability to write playbooks in reusable "roles" as well as the large repository of built-in Ansible modules, Ansible becomes a very awesome alternative to writing complex Shell/Bash scripts. Very powerful tool for system administrators to reliably and quickly interact with nodes of large clusters. With proper organization of your host inventory in versioned-control files, Ansible becomes an indispensable tool for Sys Admins to investigate issues and perform routine tasks across large clusters.,Steep learning curve - I have found that Ansible has a steeper learning curve when it comes to playbooks and roles. This could be a side-effect of its power and flexibility. I still believe more could be done to make writing roles simpler. There is no a public repository of playbooks or a "package manager" that facilitates download community-maintained Ansible playbooks.,9,Ansible is a great investment if used for its well-suited scenarios. It has had a positive impact on my clients who used it to modernize their application deployment process. Ansible has 1) increased the reliability of the deployment process and 2) reduced scripts maintenance overhead. Since Ansible is simpler and faster to get started with - compared to centralized configuration management solutions - it can be tempting to use it initially for simpler applications/infrastructure that are anticipated to evolve to complex ecosystems, you may find yourself having to rewrite in another tool in such cases.,Chef, Terraform and Bash,Terraform, Chef, Docker, JenkinsAnsible : A way to automate apps and IT infrastructureAnsible is one the best automation tools for deploying an application on remote servers. It helps us avoid repetitive tasks and handles workflows. Our organization using it mainly for below cases: Cloud Application AutomationVirtual Machine/Instance configuration and ManagmentAutomated or Auto Deploy of Cloud supported Application,Easy creation of YAML PlayBook (configuration ) file Easy and fast deployment Save unnecessary onsite travel cost Secure SSH connection Ready to use built in many useful modules Use Python for modules,Minimal support for Windows Not so interactive and featured GUI,8,Positive impact is mainly on time and cost savings Main negative impact is faced when an individual needs to troubleshoot an issue but has minimal informational of what is happening at back-end of an auto deploy,Quick, Fast, and EasyAnsible is being used mainly for maintaining and managing a small group of servers. It's not being used across the organization (like managing our entire fleet), but rather for simpler tasks, since it has an extremely low overhead and is easy to set up for one-off tasks. It's also useful for maintaining individuals' laptops where desired.,Simple, low-overhead configuration and management for servers or laptops. Easy to configure and set up, yet powerful in its configuration options. Excellent documentation for the options available.,A simpler way to keep a large number of hosts under management and ensure that they are kept in sync. Improved speed. Some runs can be fairly slow.,9,Excellent ROI, in that it's free and easy to set up.,Chef and PuppetAnsible streamlines automated server provisioningWe use Ansible to automate provisioning of both Amazon AMIs and other EC2 resources. It orchestrates the installation of all of the software we need to power our platform in production and leaves us with a reliable, predictable machine state on every run. We've also used Ansible to vary the state of dependencies installed on a machine after it's been deployed to production.,Predictable machine state. Cross-platform operation. We run Ansible from both Mac and Linux reliably.,There is no "official" Windows support for a host machine. Some of our team is on Windows, so this is a major drawback. Some of the community-maintained packages break dependencies, requiring us to toggle a "verbose" flag in Ansible to dive into the details of what failed. A recent update to Ansible itself broke on the LTS version of Ubuntu we were using. As older versions of Ansible had been purged from the package manager, we had to switch to a different installation routine entirely (using Python and pip) to restore to an active, reliable state.,10,The time savings of not having to manually provision servers has been huge! Keeping multiple servers in complete parity with one another has been incredibly helpful in reducing the number of single-machine configuration bugs present during development.,SaltStack,Docker, VagrantIt's like the diet version of ChefAnsible is a fantastic tool that addresses our need for automated system deployments. Using Ansible, we can easily scale environments as well as create new environments in a short amount of time. Currently, Ansible is only being used by our system administrator for system level tasks as most of our development tasks are handled by other software. Since we are a fairly small operation, Ansible is a much more lightweight option than other automation alternatives, like Chef and Puppet. The extensive amount of AWS modules also allowed for easy implementation.,It is very lightweight so it is great for running simple repetitive tasks such as restarting services, copying files, or running simple shell commands. Ansible is fantastic for deploying servers in a cloud environment. The modules are very simple and easy to understand and deploying server images is surprisingly fast. Ansible provides phenomenal documentation and has a very supportive community that works diligently to make modules as lightweight as possible without removing functionality.,Ansible is still in it's infancy as an open source automation tool compared to some of the more well-known competitors. This does lead to needing to create custom modules or utilizing some modules outside of their normal intended use to perform tasks. Since Ansible runs each task individually over SSH, if you have a playbook with a large number of tasks to perform it can be a lengthier process due to some significant wait time between tasks. A simple solution is obviously to eliminate as many of these tasks as possible or break them up into separate play books.,8,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.,ChefSuper easy to setup and use - I would recommend Ansible for deploymentIt is currently used by one product team. Other teams use Puppet. Ansible was just simply easy to learn / use. It's easy to manage many servers with various ways to group (cluster / environment etc). The reason the other team had to go with Puppet was that they had to manage Windows Box which our product team doesn't have to but it is coming up.,I would say super easy to get it started and learning curve is super low. Very well documented. Amazing community provides quick feedback / fix.,Not necessarily an improvement but because we have a legacy platform that needs to be migrated to Windows (from Mac) we will soon have to support Windows and I'm not aware of Ansible support for that.,10,Bringing Ansible from half automated process was definitely priceless in terms of consistency / speed / reliability. Ansible is so easy to learn that the team just picked it up with little or no training.,PuppetAnsible for Configuration Management at ScaleAnsible is an IT infrastructure automation and configuration management tool. We use Ansible to automate deployments, control configuration management, audit change trails, and making rapid changes to multiple environments with a single command. Ansible is primarily used by our DevOps department, and it helps solve the problem or automation and sysadmin to servers ratio.,Automation Configuration management Release at scale,10,Ansible has improved stability of our overall architecture because we no longer have "snowflake" servers. Ansible has made it cheaper to spin up a new version of the server rather than diagnose a problematic server, costing valuable time to restoration. Ansible has allowed us to spin up dynamic environments with the click of a button.,Puppet Data Center Automation,Domo, Sequel ProGet things done in no timeWidely used in the organization from IT to dev. It is mainly addressing not very large clusters of servers avoiding repetitive tasks and handling workflows. Use cases: - Cloud Services Orchestration - Cloud Instances Configuration Management - Continuous Application Deployment,Ease of use due to its simple, human-readable language (YAML) Lot of built-in modules (batteries included) Secure Connection (SSH) No remote agent installation needed (all done over SSH) The docs are great Uses Python, which is built into Linux,Basic support for Windows Underdeveloped GUI with limited features,10,Very positive given the fact it's free and helps me to adapt to new environments very fast and easily,Fabric and PuppetExposure to Ansible. DevOps aspect.Ansible is being used by the entire organization. It addresses 3 main DevOps Business goals: 1. Efficient and reliable configuration management automation in a large scale environment. 2. Provisioning of a newly deployed hardware and virtual systems 3. Fixes that require fast and efficient implementation on a large pool of resources,Simple tool in terms of its deployment, configuration and ease of use. No TLS certificates. Ability to run in adhoc, pull and push modes. Easy learning curve in terms of usage and ansible playbooks writing Huge variety of available modules covering 99% of DevOps use cases in an enterprise,Should have a better error handling mechanism with more precise error logic and interaction with the user It would be great if ansible had a dynamic inventory handling mechanism by default,10,Ansible helped me as a team lead to make sure that our DevOps goals are aligned with business goals of our explosively growing organization and infrastructure. Since the standard ansible implementation is free, it makes ansible a fine tool with great return on investment,,Puppet Data Center Automation, ChefAutomate boring tasksIt's used by both software developers and system administrators. For software developers, it allows them to set up machines for the development environment easily without manually installing required programs and databases to run an environment needed for developing software. Administrators use it to set up machines for customer environments (testing, QA, production) quickly when they are needed.,If configured properly all tasks can be executed with one command. When running it's easy to see what it's currently doing. Comes with lots of features, it fits many use cases.,YAML syntax can cause trouble. It's sometimes difficult to see where the syntax problem is exactly located. Playbooks are difficult to manage on large projects. Some kind of IDE would be good. Requires a Linux control machine.,7,It helps with setting up customer environments with short notice and with little workforce so it's very cost-efficient. There are less mistakes because setting up machines requires little human interaction.,Oracle VM VirtualBox, VagrantAnsible VS Chef VS Puppet VS SaltStackAnsible is used across the entire organization for configuration management. It configures operating systems as well as releases and configures software. We manage our ansible repo in a CI pipeline with jenkins.,Ansible works extremely well with Jenkins in a CI pipeline for testing, validating, and configuring VM and container images. Ansible is fully extensible with custom modules. There is also a huge existing official repo of extensions and add-on modules. Ansible runs agentless so all actions are performed via SSH. This means you do not have to install any software on the host you're running Ansible on.,Ansible struggles with complex and large inventories. It could greatly improve with improvements to inventory processing. There are no real walk-throughs on how to start with ansible module development,10,It automated processes that used to be performed by hand saving hundreds of hours if not thousands It is self documenting when combined with a source control service. People who understand ansible are able to come up to speed relatively quickly.,Chef, SaltStack and Puppet,Puppet Data Center Automation, Chef, Amazon Web ServicesAnsible - simple, clean, up and running in minutes.We use Ansible to provision web servers, load balancers and other pieces of infrastructure. We will also, on occasion use it to provision docker containers when the provisioning is too complex to fit into a single docker file. We also use it to provision disposable local development environments that identically match production environments.,Ansible is extremely easy to use when compared to other CM tools. Developers new to Ansible can get up and running in very little time. This is nice, in that we can have a few people on each team that know Ansible well, but the other devs can all contribute. Ansible is agent-less, so setup is much quicker...the code all lives and is executed from one place. Ansible plays well with immutable architecture. It's every bit as easy to create a new server and destroy the old one as it is to update the old one. Yaml for configurations is an excellent choice.,Tooling and documentation is growing now that it's not super-new anymore, but this was an issue for a while, primarily because the other main CM tools had simply been around longer. Large-scale use cases might benefit more from a CM tool with an agent. Jinja templates are used - many don't like this.,8,It allowed my small team (part of a medium-sized company) to take on server architecture endeavors that we would have avoided if we only had Chef of Puppet, simply because the time from start to finish with Ansible is much more rapid. Many of our apps have short lifecycles. It's nice to have a provisioning script that doesn't require a large investment when your application's lifecycle is short. Having no agent greatly simplifies things. You can run scripts from any machine, or even from a development machine.,Chef and SaltStack,Docker, Amazon Relational Database Service, Amazon Aurora, RackspaceAnsible scratches our product team's imperative orchestration itch!We use Ansible to orchestrate the create, converge, and destruction of cloud infrastructure. The converge portion is managed by Chef. We differentiate Chef from Ansible in that Chef is used to lay down declarative, idempotent resources. Ansible is used to perform one-time shot operations like creating clusters, running db migrations, managing DNS records. We wrap Ansible in Jenkins to make orchestration easier to manage in our CI processes and also to increase visibility. As we are based in the public cloud, we rely heavily on the dynamic inventory portion of Ansible.,Imperative orchestration works well. There is no resource ordination issues like there can be with Puppet or Chef. It is easy to get started and start iterating on plays, books, roles. The docker and rax resources are very robust and compelling. I hope these continue to develop and flourish.,There are conflicting stories on how best to organize a role's structure. Old documentation exists, and as Ansible has grown directions have pivoted a bit. This should be trued up. Pull-based Ansible is a compelling use case. Ansible should come up with a pattern which supports this configuration. How to integrate ServerSpec infrastructure integration testing is sorely lacking. Ansible should curate practices and docs around this.,8,Ansible makes it easier to ship code as the orchestrator of the release. Ansible enables clear blue-green release processes. Ansible moves fast and breaks the runtime with regressions. We rightly pin dependencies hard to insulate ourselves from unintentional breaking changes.,ChefStandardize automation across the organizationAnsible is being used across our organization as a solution to our automation needs by making it easier to have a similar setup for dev, test and prod environments. It has allowed our organization to deploy infrastructure and applications faster by making automation easier to develop.,Ansible allows us to separate configurations by using group variables. Splitting up different set of tasks into roles makes for better organization and readability. Ansible Galaxy makes it cost and time efficient by finding and re-using existing automation that others have spent time developing.,It is hard to pass in run-time parameters to Ansible. It is difficult to do one off tasks using Ansible because of the amount of set up required before a working solution. Too many modules can create confusion when creating automation.,8,Cost and time efficient due to the community open-sourcing playbooks and roles for common tasks. More consistency across different departments in an organization.,Puppet
Unspecified
Ansible
92 Ratings
Score 8.4 out of 101
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow noopener noreferrer'>trScore algorithm: Learn more.</a>TRScore

Ansible Reviews

Ansible
92 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow noopener noreferrer'>trScore algorithm: Learn more.</a>
Score 8.4 out of 101

Do you work for this company?

Show Filters 
Hide Filters 
Filter 92 vetted Ansible reviews and ratings
Clear all filters
Overall Rating
Reviewer's Company Size
Last Updated
By Topic
Industry
Department
Experience
Job Type
Role

Reviews (1-23 of 23)

Companies can't remove reviews or game the system. Here's why.
Dylan Cauwels profile photo
Score 9 out of 10
Vetted Review
Verified User
Review Source
Ansible is a tool used by our head DevOps engineer and others who elect to do so. It is mainly used for automating server setup/tear down and ensuring concurrency exists across all our application platforms. It's an incredible tool for setting up any environment without having to install the program on the server you wish to target.
  • Automating any machine-level processes that you need to do to set up an environment.
  • Great for sending out consistent changes to a group of servers.
  • 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.
Great for automating groups of servers and ensuring updates are pushed to all of them (simultaneously if needed). It's hard to manage large groups of servers, and this tool makes it almost too simple. If there is only one server that is unique from the others, Ansible will not be as useful, but can still help track your changes.
Read Dylan Cauwels's full review
John Reeve profile photo
Score 9 out of 10
Vetted Review
Verified User
Review Source
We are using Ansible to configure our servers and to deploy our software to those servers. Our developers use it to deploy updates to staging and production environments, which enables them to work more in a DevOps role.
  • Playbooks double as documentation of server environments.
  • Makes it easy for developers to deploy.
  • Automates the deployment process.
  • Some of the modules could use more features.
Ansible is very well suited for smaller development and production environments where Chef or Puppet seems like overkill. Or, to anyone who needs to document their server configuration. I'd recommend it to anyone considering alternative solutions for that same reason. And the fact that it runs over SSH makes it really easy to set up and run, which also makes it a good choice for those working in smaller environments.
Read John Reeve's full review
No photo available
Score 8 out of 10
Vetted Review
Verified User
Review Source
Ansible is being used by a certain department for testing purposes. We tried it for a while and had an evaluation on it. It is a very nice tool for managing the servers we have on cloud. It is easy to use and powerful to manage all the servers we have. We are very happy with the result.
  • It is very easy to implement.
  • It controls the servers with configuration and executes it well
  • It is not that pricy.
  • With its easiness to learn, you still have to do most of the things in Bash. Would be nice to have UI.
  • Enterprise support is not that good.
  • Windows can be a pain.
If your company is using cloud services like either Amazon Web Service or Google Cloud Platform, you will have time to implements lots of servers and managing them can be a pain. Ansible can be the help that enables you to manage all the config files you have for your servers and executes them in seconds.
Read this authenticated review
John Grosjean profile photo
Score 8 out of 10
Vetted Review
Verified User
Review Source
We use Ansible every day in our CI/CD pipeline. With everything in AWS, and constantly setting up new instances, other agent-based products were out of the question. And since Ansible has added so much AWS management to it's latest versions, we can manage infrastructure just as easily as we deploy our application. There is no way we could keep up with the developers without Ansible.
  • 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.
  • Syntax.
  • Lacks descriptive error messages. The most basic errors are easy enough, but the more edge case errors can send you on a wild goose chase real quick.
  • Open Source. In many ways, this is a good thing, but it also means support is limited to community forums and such. So many people use it that it hasn't been an issue for us, but it means researching your own answer instead of just calling support.
I would recommend Ansible to anyone, but I recognize it might not fit everyone's needs. I'm not as familiar with Chef, Puppet, or Salt, but they each have their strengths. For us, we needed to be able to manage a new server the moment it was created, so agent-based solutions were out. For our use, Ansible does everything we've asked it to.
Read John Grosjean's full review
No photo available
November 28, 2018

Ansible Now!

Score 7 out of 10
Vetted Review
Verified User
Review Source
Ansible helps us with configuration management, application deployment, task automation. It also does IT orchestration, where we have to run tasks in sequence and create a chain of events which must happen on several different servers or devices. In short, we use Ansible to handle complex tasks with a tool which is easy to use.
  • Unlike Puppet or Chef, Ansible doesn’t use an agent on the remote host. Instead it uses SSH which is to be installed on all the systems we want to manage.
  • Ansible is written in Python, which we install on all remote host. This means that we don’t have to setup a client server environment before using Ansible.
  • Ansible can work alongside our other DevOp tool, Chef. This allows us to reach out to existing Chef teams in order to try and organize their work all under the same DevOps umbrella.
  • Unlike Chef, Ansible employes a Push methodology rather than Pull. We found that this doesn't scale well for us, thus we had to consider using Ansible Tower in order to scale.
  • Ansible's free training and tutorials do no provide as much depth and ease for first time users trying it out for the first time.
  • From the limited experience we have had with Ansible Tower, the UI is not very user friendly. There's a lot of bells and whistles that can prove o be overwhelming at times.
Ansible did a great job helping us patch simple security vulnerabilities on many servers. The code for the fix were no more than about 100 lines. We patched each vulnerability in about 10 minutes. We patched both the HeartBleed/OpenSSH along with the Shellshock Bash vulnerability on 200+ servers in a few days.
Read this authenticated review
No photo available
Score 7 out of 10
Vetted Review
Verified User
Review Source
Ansible is currently being used by our integration and infrastructure team. It is used across the whole project. Ansible is being used as a rapid deployment solution. It is being utilized as a tool to speed up the deployment of our system and make the deployment as turn key as possible.
  • Easy to learn programming. It just utilizes YAML which is easy to learn and doesn't take as much time to pick up.
  • Fast deployment. If you are allowed to use SSH in your architecture, it is a very fast deployment.
  • Repeatability, you can deploy a node many times and get the same result each time.
  • Ansible currently doesn't have a way to keep a node in a current state like what puppet or DSC can do.
  • Ansible uses SSH which sometimes is not a good security practice.
  • You have to be good to set up system totally with secure SSH keys, Sudo, etc.
If you have an environment in which you just want to push out VM's or containers very rapidly and don't need them to stay in a current state, then ansible is perfect for that use case. If you want an environment where you push out the code and the system ensures the VM/container remains in that state, Ansible is not really the solution; there are better options.
Read this authenticated review
Chien Huey profile photo
Score 8 out of 10
Vetted Review
Verified User
Review Source
Ansible was used by the DevOps team to configure our computing clusters along with Terraform. It addresses the challenges involved in managing the configuration of our computing infrastructure. It is an excellent complement to Terraform because Terraform manages the cloud infrastructure creation (e.g. the VPC, instances, security groups, etc). Once the cloud infrastructure is created, Ansible can be used to configure the instances. Things, like configuring the services on the instances as well as installing and configuring software, can be handled by Ansible. Also the lightweight nature of Ansible - only requiring ssh is beneficial.
  • Installing and configuring software on instances.
  • Lightweight footprint. No agent required.
  • Predictable execution. Generally, the playbooks are run top to bottom.
  • Scheduling is not included in the OSS product, requires a purchase of Ansible Tower.
  • Relies solely on a reliable SSH connection.
  • No protection against concurrent playbook runs.
Ansible works well if you can rely on having rock solid SSH connectivity. It also works well with the instances that you're configurations are relatively disposable. As Ansible makes changes as it processes the playbook, it is possible for changes to be made halfway down the playbook and then a failure to put the instance in an in-between state where it's neither the before state or after state. Rather it's somewhere in between.
Read Chien Huey's full review
Blagovest Petrov profile photo
Score 10 out of 10
Vetted Review
Verified User
Review Source
Ansible was used mainly for provisioning our internal virtual environments and containers. It was used only in the IT department of course. Different environments were provisioned with our custom Ansible roles. We have been also experimenting with Ansible for Docker. It is a good alternative to the Dockerfile for creating containers.
  • Easy YAML syntax
  • Provisioning over SSH. Management sever is not needed
  • Big community
  • Python 2.7 was required for the older versions
  • SSH as a requirement by default
  • Not as fast as container driven development
Ansible is perfect for provisioning virtual machines or containers. It's also useful for standardized setup of different software projects. For example, the main supported setup configuration of Red Hat Open Shift is made in Ansible.
Read Blagovest Petrov's full review
Edward Larkey profile photo
Score 10 out of 10
Vetted Review
Verified User
Review Source
Ansible allows us to manage our systems with over SSH with an easy to read YAML format. It is easy to check playbooks into source control to share with others in the organization. Ansible playbooks are easy and quick to develop. The speed at which we can create new playbooks ensures that more of our systems will use configuration management.
  • Communication over SSH
  • YAML syntax
  • Python modules
  • More difficult than something like Chef to enforce a source of truth or official playbooks in an organization
  • Ansible AWX isn't quite there yet
I would 100% recommend Ansible over Chef or other config management systems. Ansible is easy to get started with, has powerful modules, the community provided playbooks, and requires no client package. Great for large-scale deployments and single node apps alike.
Read Edward Larkey's full review
Aiman Najjar profile photo
December 01, 2017

DevOps Swiss Army Knife

Score 9 out of 10
Vetted Review
Verified User
Review Source
Ansible is a powerful tool for many DevOps cases, including generic automation scripts, configuration management, and infrastructure orchestration. We've used it mainly for complex application deployments - for each application, we wrote an Ansible playbook to deploy the application and all dependencies to target Chef-managed environments. The deployment process for each application varied a lot and was often very complex, and each playbook would have different logic for configuration and validations.

Those applications ranged from J2EE applications to cron jobs. Target VMs would range from Tomcat application servers to plain Linux machines.

I have also used Ansible for other uses such as for simplifying interaction with a large cluster of nodes to perform system administration tasks (e.g. fetching logs, investigating issues across nodes of a cluster..etc). I have also used its Python library to create custom automation scripts. It worked very well for all cases above.
  • Decentralized configuration management - Ansible supports "desired state" syntax and is a great alternative to centralized configuration management solutions. If you think that maintaining an infrastructure is an overkill for your needs, then you should consider Ansible. Ansible is "agentless" and all you need is version control, SSH access, and proper organization skills!
  • Great for writing clean and readable automation scripts. In my opinion, Ansible Playbooks are the new Shell scripts. It enforces readable structure yet maintains a great flexibility. Add to that, the ability to write playbooks in reusable "roles" as well as the large repository of built-in Ansible modules, Ansible becomes a very awesome alternative to writing complex Shell/Bash scripts.
  • Very powerful tool for system administrators to reliably and quickly interact with nodes of large clusters. With proper organization of your host inventory in versioned-control files, Ansible becomes an indispensable tool for Sys Admins to investigate issues and perform routine tasks across large clusters.
  • Steep learning curve - I have found that Ansible has a steeper learning curve when it comes to playbooks and roles. This could be a side-effect of its power and flexibility. I still believe more could be done to make writing roles simpler.
  • There is no a public repository of playbooks or a "package manager" that facilitates download community-maintained Ansible playbooks.
Ansible is really unique in that it works well for various DevOps needs. I find it very well suited for:
  1. Automation Scripts - think: deployment scripts, configuration scripts, start-up/shut-down scripts, cron jobs, etc.
  2. Infrastructure as Code - although I would not say it is Ansible's primary use case, Ansible still has a good amount (albeit not comprehensive) of cloud infrastructure orchestration modules, things like creating EC2 instances, ELBs, S3 buckets, Azure resources, etc.
  3. Decentralized / "Push" Configuration Management - that means you trigger Ansible from a client machine and it will remotely execute the configuration scripts over SSH. This is actually enough for many configuration management use cases.

It may not work extremely well for the following cases:

  1. Complex Infrastructure as Code needs - i.e. cloud infrastructure that consists of many cloud resources of different types and advanced configuration.
  2. Configuring Complex Clusters or Ecosystems - for this I would prefer "Pull" / Centralized Configuration Management solution that offers inventory look-ups and integrated data store solution as part of the configuration process.
Read Aiman Najjar's full review
Kashif Iqbal profile photo
Score 8 out of 10
Vetted Review
Verified User
Review Source
Ansible is one the best automation tools for deploying an application on remote servers. It helps us avoid repetitive tasks and handles workflows.

Our organization using it mainly for below cases:
  • Cloud Application Automation
  • Virtual Machine/Instance configuration and Managment
  • Automated or Auto Deploy of Cloud supported Application
  • Easy creation of YAML PlayBook (configuration ) file
  • Easy and fast deployment
  • Save unnecessary onsite travel cost
  • Secure SSH connection
  • Ready to use built in many useful modules
  • Use Python for modules
  • Minimal support for Windows
  • Not so interactive and featured GUI
  • For a fast auto-deploy of instances where resource elasticity is taking place.
  • Also to reduce onsite travel costs and deliver projects as soon as possible in case we have a number of servers to be configured to host application services.
Read Kashif Iqbal's full review
Russ Taylor profile photo
March 06, 2017

Quick, Fast, and Easy

Score 9 out of 10
Vetted Review
Verified User
Review Source
Ansible is being used mainly for maintaining and managing a small group of servers. It's not being used across the organization (like managing our entire fleet), but rather for simpler tasks, since it has an extremely low overhead and is easy to set up for one-off tasks. It's also useful for maintaining individuals' laptops where desired.
  • Simple, low-overhead configuration and management for servers or laptops.
  • Easy to configure and set up, yet powerful in its configuration options.
  • Excellent documentation for the options available.
  • A simpler way to keep a large number of hosts under management and ensure that they are kept in sync.
  • Improved speed. Some runs can be fairly slow.
Simple, efficient management of hosts. Easy-to-maintain configuration files, with lots of flexibility in the way you can keep those files in code management. It's especially useful for smaller fleets or for one-off runs. Perhaps not as effective in maintaining large fleets of servers, especially when you need to keep all the hosts in-sync.
Read Russ Taylor's full review
Eric Mann profile photo
Score 10 out of 10
Vetted Review
Verified User
Review Source
We use Ansible to automate provisioning of both Amazon AMIs and other EC2 resources. It orchestrates the installation of all of the software we need to power our platform in production and leaves us with a reliable, predictable machine state on every run.

We've also used Ansible to vary the state of dependencies installed on a machine after it's been deployed to production.
  • Predictable machine state.
  • Cross-platform operation. We run Ansible from both Mac and Linux reliably.
  • There is no "official" Windows support for a host machine. Some of our team is on Windows, so this is a major drawback.
  • Some of the community-maintained packages break dependencies, requiring us to toggle a "verbose" flag in Ansible to dive into the details of what failed.
  • A recent update to Ansible itself broke on the LTS version of Ubuntu we were using. As older versions of Ansible had been purged from the package manager, we had to switch to a different installation routine entirely (using Python and pip) to restore to an active, reliable state.
Well suited: Automatic server provisioning for multiple deployment environments (development, staging, quality assurance, production, etc). It's also useful for kick-starting a new engineer's development environment so they can be productive on day 1.

Less appropriate: Rebuilding projects for integration testing. Tests are things that (should) run frequently on every build. As Ansible downloads a lot of resources over the wire (and often without a local cache), this can drastically increase the time required for an incremental build and test.
Read Eric Mann's full review
James McCoy profile photo
Score 8 out of 10
Vetted Review
Verified User
Review Source
Ansible is a fantastic tool that addresses our need for automated system deployments. Using Ansible, we can easily scale environments as well as create new environments in a short amount of time. Currently, Ansible is only being used by our system administrator for system level tasks as most of our development tasks are handled by other software. Since we are a fairly small operation, Ansible is a much more lightweight option than other automation alternatives, like Chef and Puppet. The extensive amount of AWS modules also allowed for easy implementation.
  • It is very lightweight so it is great for running simple repetitive tasks such as restarting services, copying files, or running simple shell commands.
  • Ansible is fantastic for deploying servers in a cloud environment. The modules are very simple and easy to understand and deploying server images is surprisingly fast.
  • Ansible provides phenomenal documentation and has a very supportive community that works diligently to make modules as lightweight as possible without removing functionality.
  • Ansible is still in it's infancy as an open source automation tool compared to some of the more well-known competitors. This does lead to needing to create custom modules or utilizing some modules outside of their normal intended use to perform tasks.
  • Since Ansible runs each task individually over SSH, if you have a playbook with a large number of tasks to perform it can be a lengthier process due to some significant wait time between tasks. A simple solution is obviously to eliminate as many of these tasks as possible or break them up into separate play books.
I would recommend Ansible to any business of small to medium size that is looking for an automation tool. For any company looking for something lightweight that could be run on a personal computer rather than a server, I would recommend Ansible. I feel like it is well suited for smaller environments as the task load tends to be lighter and Ansible does usually have slower run times than larger scale tools like Chef and Puppet. Small scale cloud environments do very well as Ansible has a plethora of modules to support many different IaaS structures. Processes that have an extensive amount of tasks to perform are also not well-suited for Ansible in my opinion and should probably be avoided. Large scale implementations may also want to avoid Ansible as I feel that it scales poorly compared to some other competitors.
Read James McCoy's full review
Naoko Reeves profile photo
Score 10 out of 10
Vetted Review
Verified User
Review Source
It is currently used by one product team. Other teams use Puppet. Ansible was just simply easy to learn / use. It's easy to manage many servers with various ways to group (cluster / environment etc). The reason the other team had to go with Puppet was that they had to manage Windows Box which our product team doesn't have to but it is coming up.
  • I would say super easy to get it started and learning curve is super low.
  • Very well documented.
  • Amazing community provides quick feedback / fix.
  • Not necessarily an improvement but because we have a legacy platform that needs to be migrated to Windows (from Mac) we will soon have to support Windows and I'm not aware of Ansible support for that.
I think Ansible is perfect for deployment as action is predictable. Our team uses it for server configuration as well but our ops [team] prefer minions living on each server for patches thus some would argue that Ansible might not be best tool for server configuration.
Read Naoko Reeves's full review
No photo available
Score 10 out of 10
Vetted Review
Verified User
Review Source
Ansible is an IT infrastructure automation and configuration management tool. We use Ansible to automate deployments, control configuration management, audit change trails, and making rapid changes to multiple environments with a single command. Ansible is primarily used by our DevOps department, and it helps solve the problem or automation and sysadmin to servers ratio.
  • Automation
  • Configuration management
  • Release at scale
Ansible is well suited for configuration management, and automation. As an open source tool, Ansible is a transferrable skill set which can be used in many environments. I see Ansible being around for many years as it helps solve the problem of "how many servers can I assign to one sysadmin?". With Ansible you empower a single sysadmin to control many servers with a single command, and audit changes if you check these changes into Git.
Read this authenticated review
No photo available
Score 10 out of 10
Vetted Review
Verified User
Review Source
Widely used in the organization from IT to dev. It is mainly addressing not very large clusters of servers avoiding repetitive tasks and handling workflows. Use cases:
- Cloud Services Orchestration
- Cloud Instances Configuration Management
- Continuous Application Deployment
  • Ease of use due to its simple, human-readable language (YAML)
  • Lot of built-in modules (batteries included)
  • Secure Connection (SSH)
  • No remote agent installation needed (all done over SSH)
  • The docs are great
  • Uses Python, which is built into Linux
  • Basic support for Windows
  • Underdeveloped GUI with limited features
[it's] simple, straight forward, easy to set up and get started with. It's very well suited for automatic server provisioning. It might not perform as well as more mature solutions (Chef, Puppet, etc.) for very large environments with thousands of servers. But it will outperform in a dynamic phase environment where speed is critical.
Read this authenticated review
No photo available
Score 10 out of 10
Vetted Review
Verified User
Review Source
Ansible is being used by the entire organization. It addresses 3 main DevOps Business goals:
1. Efficient and reliable configuration management automation in a large scale environment.
2. Provisioning of a newly deployed hardware and virtual systems
3. Fixes that require fast and efficient implementation on a large pool of resources
  • Simple tool in terms of its deployment, configuration and ease of use.
  • No TLS certificates. Ability to run in adhoc, pull and push modes.
  • Easy learning curve in terms of usage and ansible playbooks writing
  • Huge variety of available modules covering 99% of DevOps use cases in an enterprise
  • Should have a better error handling mechanism with more precise error logic and interaction with the user
  • It would be great if ansible had a dynamic inventory handling mechanism by default
Goes highly recommended for infrastructure operations, configuration management automation, systems provisioning, continuous deployment.
Implementation of adhoc features and fixes on a large pools of either physical or virtual resources.
Read this authenticated review
No photo available
March 07, 2017

Automate boring tasks

Score 7 out of 10
Vetted Review
Verified User
Review Source
It's used by both software developers and system administrators. For software developers, it allows them to set up machines for the development environment easily without manually installing required programs and databases to run an environment needed for developing software. Administrators use it to set up machines for customer environments (testing, QA, production) quickly when they are needed.
  • If configured properly all tasks can be executed with one command.
  • When running it's easy to see what it's currently doing.
  • Comes with lots of features, it fits many use cases.
  • YAML syntax can cause trouble. It's sometimes difficult to see where the syntax problem is exactly located.
  • Playbooks are difficult to manage on large projects. Some kind of IDE would be good.
  • Requires a Linux control machine.
It's most useful if you often need to deploy machines that have exactly same configuration and pre-installed programs. It's also easy to make changes into them if needed, in best case you can just run one command and the change can be executed into multiple machines thanks to roles. However it seems to be mostly intended for Linux machines.
Read this authenticated review
No photo available
Score 10 out of 10
Vetted Review
Verified User
Review Source
Ansible is used across the entire organization for configuration management. It configures operating systems as well as releases and configures software. We manage our ansible repo in a CI pipeline with jenkins.
  • Ansible works extremely well with Jenkins in a CI pipeline for testing, validating, and configuring VM and container images.
  • Ansible is fully extensible with custom modules. There is also a huge existing official repo of extensions and add-on modules.
  • Ansible runs agentless so all actions are performed via SSH. This means you do not have to install any software on the host you're running Ansible on.
  • Ansible struggles with complex and large inventories. It could greatly improve with improvements to inventory processing.
  • There are no real walk-throughs on how to start with ansible module development
Ansible is extremely well suited for full stack configuration management. It is much easier to use against providers like AWS or OpenStack than its counterparts, it works on network devices due to using SSH, and it pairs well with CI systems to keep your repo validated. Ansible is not the fastest kid on the block as far as deployments and task-level execution go. If speed is paramount with your configuration management solution then an agent-based solution is probably the way to go.
Read this authenticated review
No photo available
Score 8 out of 10
Vetted Review
Verified User
Review Source
We use Ansible to provision web servers, load balancers and other pieces of infrastructure. We will also, on occasion use it to provision docker containers when the provisioning is too complex to fit into a single docker file.

We also use it to provision disposable local development environments that identically match production environments.
  • Ansible is extremely easy to use when compared to other CM tools. Developers new to Ansible can get up and running in very little time. This is nice, in that we can have a few people on each team that know Ansible well, but the other devs can all contribute.
  • Ansible is agent-less, so setup is much quicker...the code all lives and is executed from one place.
  • Ansible plays well with immutable architecture. It's every bit as easy to create a new server and destroy the old one as it is to update the old one.
  • Yaml for configurations is an excellent choice.
  • Tooling and documentation is growing now that it's not super-new anymore, but this was an issue for a while, primarily because the other main CM tools had simply been around longer.
  • Large-scale use cases might benefit more from a CM tool with an agent.
  • Jinja templates are used - many don't like this.
Well suited for rapid infrastructure development/provisioning.
Well suited for immutable infrastructure.
Not as well suited for large-scale infrastructure.
Read this authenticated review
No photo available
Score 8 out of 10
Vetted Review
Verified User
Review Source
We use Ansible to orchestrate the create, converge, and destruction of cloud infrastructure. The converge portion is managed by Chef. We differentiate Chef from Ansible in that Chef is used to lay down declarative, idempotent resources. Ansible is used to perform one-time shot operations like creating clusters, running db migrations, managing DNS records. We wrap Ansible in Jenkins to make orchestration easier to manage in our CI processes and also to increase visibility. As we are based in the public cloud, we rely heavily on the dynamic inventory portion of Ansible.
  • Imperative orchestration works well. There is no resource ordination issues like there can be with Puppet or Chef.
  • It is easy to get started and start iterating on plays, books, roles.
  • The docker and rax resources are very robust and compelling. I hope these continue to develop and flourish.
  • There are conflicting stories on how best to organize a role's structure. Old documentation exists, and as Ansible has grown directions have pivoted a bit. This should be trued up.
  • Pull-based Ansible is a compelling use case. Ansible should come up with a pattern which supports this configuration.
  • How to integrate ServerSpec infrastructure integration testing is sorely lacking. Ansible should curate practices and docs around this.
Ansible is a great orchestrator. One-time shot operations are something that Ansible does very well. Its also pretty easy to understand in that there are no dependencies other than ssh and a python json serializer. However if someone wants to enforce something in a declarative fashion, Puppet/Chef/CFEngine are better than Ansible at this task.
Read this authenticated review
No photo available
Score 8 out of 10
Vetted Review
Verified User
Review Source
Ansible is being used across our organization as a solution to our automation needs by making it easier to have a similar setup for dev, test and prod environments. It has allowed our organization to deploy infrastructure and applications faster by making automation easier to develop.
  • Ansible allows us to separate configurations by using group variables.
  • Splitting up different set of tasks into roles makes for better organization and readability.
  • Ansible Galaxy makes it cost and time efficient by finding and re-using existing automation that others have spent time developing.
  • It is hard to pass in run-time parameters to Ansible.
  • It is difficult to do one off tasks using Ansible because of the amount of set up required before a working solution.
  • Too many modules can create confusion when creating automation.
Ansible is a great tool for automation when an organization is looking to standardize their automation needs. It creates consistency by combining different tasks like provisioning of servers and deployment of application into one playbook.
Read this authenticated review

About Ansible

Ansible is an open-source workload automation software acquired by Red Hat in 2015.

Ansible Technical Details

Operating Systems: Unspecified
Mobile Application:No