Need advice about which tool to choose?Ask the StackShare community!

Ansible

18.8K
15.2K
+ 1
1.3K
Git

289K
173.6K
+ 1
6.6K
Add tool

Ansible vs Git: What are the differences?

Introduction

Ansible and Git are both widely used tools in software development and automation. While they serve different purposes, they do have some key differences.

  1. Architecture: Ansible is an automation tool that uses a client-server architecture, where the control machine executes tasks on remote target machines. On the other hand, Git is a distributed version control system that does not require a central server and allows developers to work offline and commit changes locally.
  2. Functionality: Ansible focuses on configuration management and automation of IT infrastructure. It is used to set up and maintain servers, deploy applications, and manage network devices. Git, on the other hand, is primarily used for version control, allowing developers to collaborate, track changes, and manage source code efficiently.
  3. Ease of Use: Ansible uses a declarative language that is easy to read and understand, making it accessible to non-programmers. It utilizes human-readable YAML files for defining tasks and configurations. In contrast, Git requires some programming knowledge, especially when resolving merge conflicts and working with branches.
  4. Scope: Ansible is designed to handle a wide range of tasks, from simple one-liner commands to complex multi-machine workflows. It can be used to manage and automate infrastructure at scale. Git, on the other hand, is focused on managing source code and does not have the same level of automation capabilities as Ansible.
  5. Workflow: Ansible follows a push-based model, where the control machine pushes instructions to the target machines and executes tasks remotely. It ensures the desired configuration state is achieved on the target machines. Git, on the other hand, follows a pull-based model, where developers pull changes from a central repository or clone repositories to their local machines for development.
  6. Collaboration: Ansible does not provide built-in collaboration features and is primarily used for automation and configuration management tasks. Git, on the other hand, is designed for collaboration and allows multiple developers to work on the same project simultaneously, merging their changes and resolving conflicts as needed.

In Summary, Ansible is an automation tool primarily used for configuration management and infrastructure automation, while Git is a distributed version control system focused on source code management and collaboration among developers.

Advice on Ansible and Git
Needs advice
on
AnsibleAnsibleChefChef
and
Puppet LabsPuppet Labs

I'm just getting started using Vagrant to help automate setting up local VMs to set up a Kubernetes cluster (development and experimentation only). (Yes, I do know about minikube)

I'm looking for a tool to help install software packages, setup users, etc..., on these VMs. I'm also fairly new to Ansible, Chef, and Puppet. What's a good one to start with to learn? I might decide to try all 3 at some point for my own curiosity.

The most important factors for me are simplicity, ease of use, shortest learning curve.

See more
Replies (2)
Recommends
on
AnsibleAnsible

I have been working with Puppet and Ansible. The reason why I prefer ansible is the distribution of it. Ansible is more lightweight and therefore more popular. This leads to situations, where you can get fully packaged applications for ansible (e.g. confluent) supported by the vendor, but only incomplete packages for Puppet.

The only advantage I would see with Puppet if someone wants to use Foreman. This is still better supported with Puppet.

See more
Gabriel Pa
Recommends
on
KubernetesKubernetes
at

If you are just starting out, might as well learn Kubernetes There's a lot of tools that come with Kube that make it easier to use and most importantly: you become cloud-agnostic. We use Ansible because it's a lot simpler than Chef or Puppet and if you use Docker Compose for your deployments you can re-use them with Kubernetes later when you migrate

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Ansible
Pros of Git
  • 284
    Agentless
  • 210
    Great configuration
  • 199
    Simple
  • 176
    Powerful
  • 155
    Easy to learn
  • 69
    Flexible
  • 55
    Doesn't get in the way of getting s--- done
  • 35
    Makes sense
  • 30
    Super efficient and flexible
  • 27
    Powerful
  • 11
    Dynamic Inventory
  • 9
    Backed by Red Hat
  • 7
    Works with AWS
  • 6
    Cloud Oriented
  • 6
    Easy to maintain
  • 4
    Vagrant provisioner
  • 4
    Simple and powerful
  • 4
    Multi language
  • 4
    Simple
  • 4
    Because SSH
  • 4
    Procedural or declarative, or both
  • 4
    Easy
  • 3
    Consistency
  • 2
    Well-documented
  • 2
    Masterless
  • 2
    Debugging is simple
  • 2
    Merge hash to get final configuration similar to hiera
  • 2
    Fast as hell
  • 1
    Manage any OS
  • 1
    Work on windows, but difficult to manage
  • 1
    Certified Content
  • 1.4K
    Distributed version control system
  • 1.1K
    Efficient branching and merging
  • 959
    Fast
  • 845
    Open source
  • 726
    Better than svn
  • 368
    Great command-line application
  • 306
    Simple
  • 291
    Free
  • 232
    Easy to use
  • 222
    Does not require server
  • 27
    Distributed
  • 22
    Small & Fast
  • 18
    Feature based workflow
  • 15
    Staging Area
  • 13
    Most wide-spread VSC
  • 11
    Role-based codelines
  • 11
    Disposable Experimentation
  • 7
    Frictionless Context Switching
  • 6
    Data Assurance
  • 5
    Efficient
  • 4
    Just awesome
  • 3
    Github integration
  • 3
    Easy branching and merging
  • 2
    Compatible
  • 2
    Flexible
  • 2
    Possible to lose history and commits
  • 1
    Rebase supported natively; reflog; access to plumbing
  • 1
    Light
  • 1
    Team Integration
  • 1
    Fast, scalable, distributed revision control system
  • 1
    Easy
  • 1
    Flexible, easy, Safe, and fast
  • 1
    CLI is great, but the GUI tools are awesome
  • 1
    It's what you do
  • 0
    Phinx

Sign up to add or upvote prosMake informed product decisions

Cons of Ansible
Cons of Git
  • 8
    Dangerous
  • 5
    Hard to install
  • 3
    Doesn't Run on Windows
  • 3
    Bloated
  • 3
    Backward compatibility
  • 2
    No immutable infrastructure
  • 16
    Hard to learn
  • 11
    Inconsistent command line interface
  • 9
    Easy to lose uncommitted work
  • 7
    Worst documentation ever possibly made
  • 5
    Awful merge handling
  • 3
    Unexistent preventive security flows
  • 3
    Rebase hell
  • 2
    When --force is disabled, cannot rebase
  • 2
    Ironically even die-hard supporters screw up badly
  • 1
    Doesn't scale for big data

Sign up to add or upvote consMake informed product decisions

What is Ansible?

Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use.

What is Git?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Ansible?
What companies use Git?
See which teams inside your own company are using Ansible or Git.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Ansible?
What tools integrate with Git?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Mar 24 2021 at 12:57PM

Pinterest

GitJenkinsKafka+7
3
2145
GitJenkinsGroovy+4
4
2651
GitCloudBees+2
3
4441
Git.NETCloudBees+3
6
1067
Mar 4 2020 at 5:14PM

Atlassian

GitBitbucketWindows+4
3
1050
PythonDockerKubernetes+14
12
2607
GitNode.jsFirebase+5
7
2361
What are some alternatives to Ansible and Git?
Puppet Labs
Puppet is an automated administrative engine for your Linux, Unix, and Windows systems and performs administrative tasks (such as adding users, installing packages, and updating server configurations) based on a centralized specification.
Chef
Chef enables you to manage and scale cloud infrastructure with no downtime or interruptions. Freely move applications and configurations from one cloud to another. Chef is integrated with all major cloud providers including Amazon EC2, VMWare, IBM Smartcloud, Rackspace, OpenStack, Windows Azure, HP Cloud, Google Compute Engine, Joyent Cloud and others.
Salt
Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds. Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.
Terraform
With Terraform, you describe your complete infrastructure as code, even as it spans multiple service providers. Your servers may come from AWS, your DNS may come from CloudFlare, and your database may come from Heroku. Terraform will build all these resources across all these providers in parallel.
Jenkins
In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.
See all alternatives