Featured links
Featured links
](https://www.redhat.com/en/summit)
- Support
- Documentation
- Console
- Developers
- Start a trial
Platform products
- Red Hat Enterprise LinuxA flexible, stable operating system to support hybrid cloud innovation.
- Red Hat OpenShiftA container platform to build, modernise, and deploy applications at scale.
- Red Hat Ansible Automation PlatformNew versionA foundation for implementing enterprise-wide automation.
Try & buy
- Start a trialAssess a product with a no-cost trial.
- Buy onlineBuy select products and services in the Red Hat Store.
- Integrate with major cloud providersBuy Red Hat solutions using committed spend from providers, including:

Featured
- Red Hat Enterprise Linux AI
- Red Hat OpenShift AI
- Red Hat OpenShift Virtualisation
- Red Hat OpenShift Service on AWS
- Microsoft Azure Red Hat OpenShift
- Application platformSimplify the way you build, deploy, manage, and secure apps across the hybrid cloud.
- Artificial intelligenceBuild, deploy, and monitor AI models and apps with Red Hat’s open source platforms.
-
Edge computingDeploy workloads closer to the source with security-focused edge technology.
- IT automationUnite disparate tech, teams, and environments with 1 comprehensive automation platform.
- SecurityDeliver software using trusted platforms and real-time security scanning and remediation.
- VirtualizationModernise operations using a single platform for virtualised and containerised workloads.
By industry
- Automotive
- Financial services
- Healthcare
- Industrial sector
- Media and entertainment
- Public sector
- Telecommunications
Services
Training & certification
- All courses and exams
- All certifications
- Verify a certification
- Skills assessment
- Learning subscription
- Learning community
- Red Hat Academy
- FAQs
- Connect with learning experts
Featured
- Ansible Basics: Automation Technical Overview (No cost)
- Containers, Kubernetes and Red Hat OpenShift Technical Overview (No cost)
- Red Hat Enterprise Linux Technical Overview (No cost)
- Red Hat Certified System Administrator exam
- Red Hat System Administration I
Topics
- AI
- Application modernisation
- Automation
- Cloud computing
- Cloud-native applications
- Containers
- DevOps
- Edge computing
- Linux
- Virtualisation
- See all topics
Articles
- What is InstructLab?
- What are cloud services?
- What is edge computing?
- What is hybrid cloud?
- Why build a Red Hat cloud?
- Cloud vs. edge
- Red Hat OpenShift vs. Kubernetes
- Learning Ansible basics
- What is Linux?
More to explore
- Blog
- Customer success stories
- Events and webinars
- Newsroom
- Podcasts and video series
- Documentation
- Resource library
- Training and certification
For customers
For partners
About us
Open source
Company details
For customers
For partners
Try, buy, & sell
Learning resources
- Training and certification
- Hybrid cloud learning hub
- Interactive labs
- Learning community
- Red Hat TV
- Architecture centre
Open source communities
-
Ansible vs. Puppet: What you need to know
Ansible vs. Puppet: What you need to know
Published November 28, 2022•5-minute read
Copy URL
- The difference between Ansible and Puppet
- Common IT automation tools
- Ansible and Puppet’s different approaches
- Automation terms
- Which is better?
- The Red Hat difference
The difference between Ansible and Puppet
Ansible® and Puppet are community open source IT automation tools. Both can simplify IT operations and DevOps work by automating routine tasks such as configuring and provisioning systems, deploying software, and managing updates across large numbers of servers or endpoint devices.
Ansible is known for its ease of use, thanks to a more flexible agentless approach, which requires no additional software to be installed on the targets being automated. By contrast, open source Puppet and Puppet Enterprise have traditionally favored an agent-based approach, requiring additional software to be installed on each machine. Ansible and Puppet take different approaches to the automation itself, with Ansible utilising human-readable language for configuration files and procedural automation (defining steps to be run in order). Puppet, on the other hand, uses a domain specific language (requiring knowledge of the Ruby programming language) and declarative automation (defining the desired state).
This article will help explain the similarities and differences between Ansible and Puppet in greater detail.
| [Explore a beginner’s guide to Ansible Automation Platform](https://www.redhat.com/en/engage/redhat-ansible-automation-20220412 “engage | solp | solp | red hat ansible automation platform a beginner s guide”) |
Supported versions of common IT automation tools
Where do Ansible and Puppet fit in the wider landscape of IT automation tools? Ansible, Puppet, Salt, and Chef make up 4 of the most commonly used open source IT automation tools. All 4 are available as enterprise versions sold by different corporate entities:
- Red Hat® Ansible® Automation Platform is supported by Red Hat.
- Puppet Enterprise, Puppet Bolt and other products are supported by Perforce.
- VMware Aria Automation (Salt) is supported by VMware.
- Chef Enterprise Automation Stack is supported by Progress.
Red Hat resources
How Ansible and Puppet approach IT automation differently
Ansible
Ansible is an open source, command-line IT automation software application written in Python. It can configure systems, deploy software, and orchestrate advanced workflows to support application deployment, system updates, and more. Red Hat Ansible Automation Platform is a subscription product built on the foundations of Ansible with numerous enterprise features.
Ansible’s strengths come from its community. Its main GitHub repository draws thousands of contributors, and has tens of thousands of repositories that depend on it, as of fall 2022. A popular user conference, AnsibleFest, takes place every year, and Ansible Meetups happen on a frequent basis around the world. This enthusiastic user community reflects a large pool of Ansible expertise, with contributors who keep Ansible robustly integrated with other popular software projects. Ansible users can access hundreds of modules and plugins that help extend its capabilities.
Ansible is designed with a focus on simplicity and ease-of-use. It also emphasizes security and reliability, featuring minimal moving parts. It uses OpenSSH for transport (with other transports and pull modes as alternatives), and uses a human-readable language (YAML) in Ansible Playbooks that is designed for getting started quickly without a lot of training.
Ansible uses the concepts of a control node (where Ansible is executed from) and managed nodes (the endpoints being automated), which can include a Linux® servers, Windows servers, network devices, and many other bare metal, virtual, public cloud and containerised platforms. Since Ansible is agentless, it can communicate with a vast number of endpoints without requiring an application or service to be installed on the managed node. For example, many network switches and routers are closed systems that often cannot have software agents installed on them.
Ansible uses a procedural (or imperative) programming approach, which tries to preserve the configuration of an IT infrastructure by defining the steps to reach a desired state.
Puppet
Open source Puppet is an open source IT automation application written in Ruby, offered as a series of available products including Puppet Enterprise. Scalability is a main benefit of Puppet. Puppet employs a model-driven approach with imperative task execution, and is designed to automate hybrid infrastructure at large scale.
Puppet has an active open source community, but with fewer contributors and fewer projects dependent on it than Ansible, based on GitHub insights in fall of 2022. Contributions to its main repository have slowed significantly.
Puppet was also designed to work differently than Ansible. Puppet is usually run as an agent-based solution, requiring a piece of software on every device it manages, though it also includes agentless capabilities.
Puppet follows the concept of declarative programming, meaning the user defines the desired state of the machines being managed. Puppet uses a Domain-Specific Language (DSL) for defining these configurations. Puppet then automates the steps it takes to get the systems to their defined states. Puppet handles automation using a primary server (where you store the defined states) and a Puppet agent (which runs on the systems you specify).
| [Learn how to migrate from Puppet to Ansible Automation Platform](https://www.redhat.com/en/resources/moving-from-puppet-brief “resources | Migrate from Puppet to Red Hat Ansible Automation Platform - HTML”) |
Automation terms to know
Agent-based architecture describes an infrastructure and automation model that requires specific software components called agents to run on the inventory being managed. The agent and all of its dependencies need to be installed on every target node, requiring additional security checks and rules. This can become a challenge when it’s time to automate objects on which the agent is unavailable or not allowed to run. It also requires agents to be maintained as part of the maintenance support life cycle for organizations.
Agentless architecture, which Ansible uses, describes a way to automate and manage IT devices without requiring any agent software installed on managed environments. The control software connects to remote machines over standard and secure SSH connections and begins managing them without a lengthy setup process. This architecture eliminates the need to maintain a deployment system of agents once the provisioning and configuration is completed.
Declarative programming is a method of writing code to describe the desired outcome of the program, rather than detailing how to do it. It is focused on the end state using declarative language, instead of the specific commands and steps needed to get there.
Procedural, or imperative, programming is a method of writing code to provide the computer with a list of instructions—a step-by-step guide—to completing a task. It is focused on the process, instead of the end state. For its automation language, Ansible uses YAML, a human-readable data-serialisation language. The YAML syntax is interpreted and executed in a procedural manner, meaning that the automation workflow is executed in the sequence in which it was written.
Which automation solution is better?
Choosing an automation solution requires considering not just features available in today’s software, but the longer-term outlook for the platform. Ansible stands out for its highly active open source community and commercial backing from Red Hat.
It’s also common for organizations to use multiple automation solutions. Ansible connects to a large ecosystem of integrations, and can be used in conjunction with many other automation and configuration management tools—as an orchestrator of automators. Ansible can be used to automate systems on public cloud hyperscalers such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (and many more).
Compared to Puppet, Ansible is a preferred choice for users who can reuse existing knowledge and expertise, and who prioritise ease of use and an agentless automation solution. It also benefits from a large community of contributors, is widely adopted, and is highly regarded for its integration with other tools.
Read what customers, partners, and analysts are saying about Ansible Automation Platform
The Red Hat difference
With open source at its core, Red Hat Ansible Automation Platform is a security-hardened, tested paid subscription product that offers full life cycle support for organizations. Its upstream project, Ansible, benefits from the experience and intelligence of its thousands of global contributors.
Ansible Automation Platform includes numerous upstream components, more than 130 Red Hat Ansible Certified Content Collections from 60+ partners, and as-a-service return on investment (ROI) tools that take the guesswork out of installing, configuring, and supporting automation in your organisation. It creates an end-to-end automation experience aimed at cross-functional teams while providing a plug-and-play experience between automation developers, engineers, and operations teams.
Why choose Red Hat for automation?
Red Hat Ansible Automation Platform’s features—like automation analytics and Red Hat Insights—provide accessible information on the performance of your automation, allowing you to measure your impacts and monitor or resolve issues with greater precision. Automation mesh lets you scale control and execution capacity independently, delivering automation closer to the endpoints that need it, with little or no downtime, allowing you to reach a consistent automation experience from the datacenter, to the cloud, to the edge locations
As a choice for agentless, easy-to-use IT automation, Ansible stands ahead of the pack for its simplicity and strong user community.
| [Try Red Hat Ansible Automation Platform for free](https://www.redhat.com/en/technologies/management/ansible/trial “Red Hat Ansible Automation Platform | Product Trial”) |
Hub
The official Red Hat blog
Get the latest information about our ecosystem of customers, partners, and communities.
All Red Hat product trials
Our no-cost product trials help you gain hands-on experience, prepare for a certification, or assess if a product is right for your organisation.
Keep reading
What is CentOS Stream?
CentOS Stream is a Linux® development platform where open source community members can contribute to Red Hat® Enterprise Linux in tandem with Red Hat developers.
| [Read the article](https://www.redhat.com/en/topics/linux/what-is-centos-stream “product article | what is centos stream”) |
What is KVM?
Kernel-based virtual machines (KVM) are an open source virtualisation technology that turns Linux into a hypervisor.
| [Read the article](https://www.redhat.com/en/topics/virtualisation/what-is-KVM “article | what is KVM?”) |
What is Podman Desktop?
Podman Desktop is a free, open source tool that simplifies working with containers in a local developer environment.
| [Read the article](https://www.redhat.com/en/topics/containers/what-is-podman-desktop “article | what is podman desktop”) |
Open source resources
Featured product
-
Red Hat Ansible Automation Platform
A platform for implementing enterprise-wide automation, no matter where you are in your automation journey.
Related content
-
Blog post
Role-based access control enhancements in Red Hat Ansible Automation Platform 2.5
-
Case study
-
E-book
-
Blog post
Getting started with Red Hat Ansible Lightspeed with IBM watsonx Code Assistant
Related articles
- What is IT automation?
- Why choose Red Hat Ansible Automation Platform as your AI foundation?
- What is CentOS Stream?
- How to build an IT automation strategy
- What is virtual infrastructure management? And how can automation help?
- What is KVM?
- What is IT migration?
- What is cloud migration? And how can automation help?
- How to automate migrations with Red Hat Ansible Automation Platform
- Why use Red Hat Ansible Automation Platform with Red Hat OpenShift?
- What is CloudOps?
- What is Podman Desktop?
- What is CentOS?
- What are CentOS replacements?
- What is Podman?
- Red Hat Satellite on Red Hat Enterprise Linux
- What is role-based access control (RBAC)?
- What is Helm?
- What is InstructLab?
- Which Red Hat Ansible Automation Platform deployment option is right for you?
- What is an Ansible module—and how does it work?
- What is Argo CD?
- How to manage and automate applications at the edge
- How to build an automation centre of Excellence
- What is orchestration?
- How to adopt Automation as Code: Extending Infrastructure as Code into Policy as Code
- What is a webhook?
- Learning Ansible basics
- Red Hat Insights data and application security
- What is an Ansible Role—and how is it used?
- What is MicroShift?
- What is data management?
- Gain security with Red Hat Ansible Automation Platform
- What is NetOps?
- What is an Ansible Rulebook?
- What is an Ansible Playbook?
- OpenJDK versus Oracle JDK
- What is configuration management
- What is Cloud Foundry?
- What is event-driven automation?
- Zero-Touch Provisioning and telco automation with Red Hat
- what is Buildah?
- What is infrastructure automation?
- What is provisioning?
- What is YAML?
- What is a configuration management database (CMDB)?
- What is compliance management?
- Understanding Ansible, Terraform, Puppet, Chef, and Salt
- What is cloud orchestration?
- Ansible vs. Chef: What you need to know
- What is IT service management (ITSM)?
- What is security automation?
- Ansible vs. Salt: What you need to know
- What is Linux?
- What’s the best Linux distro for you?
- What is a configuration file?
- Red Hat OpenShift vs. OKD
- Why run Apache Kafka on Kubernetes?
- Spring on Kubernetes with Red Hat OpenShift
- What is Apache Kafka?
- Ansible vs. Terraform, clarified
- Why choose Red Hat for automation?
- Ansible vs. Red Hat Ansible Automation Platform
- What is cloud automation?
- What is Skopeo?
- What is network automation?
- What are managed IT services?
- Using Helm with Red Hat OpenShift
- What is business process management?
- What is patch management (and automation)?
- What is the Red Hat Ansible Automation Platform automation controller?
- What is Grafana?
- What is Infrastructure as Code (IaC)?
- What is SOAR?
- What is open source software?
- Open source vs. proprietary software in vehicles
- What is business process automation?
- What is KubeLinter?
- What is RKT?
- What is Kogito?
- What was CoreOS and CoreOS container Linux
- Automating Microsoft Windows with Red Hat Ansible Automation Platform
- What is deployment automation?
- Business Optimisation
- What is Kubernetes cluster management?
- What is SRE?
- What is Jaeger?
- What is open source?
- What is risk management?
- What is Istio?
- What is IT system life-cycle management?
- What is Knative?
- What is etcd?
- What is DevOps automation?
- What is an SOE?
- What is network management?
- What is Clair?
- What is robotic process automation (RPA?)
- What is cloud management?
- What’s business automation?
- What is Docker?
](https://www.redhat.com/en)LinkedInYouTubeFacebookX
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Customer support
- Developer resources
- Find a partner
- Red Hat Ecosystem catalogue
- Red Hat value calculator
- Documentation
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit
© 2025 Red Hat, Inc.
- Privacy statement
- Terms of use
- All policies and guidelines
- Digital accessibility
- Cookie preferences