Ansible vs Docker Swarm vs Kubernetes

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

Ansible

12.9K
10.2K
+ 1
1.3K
Docker Swarm

676
806
+ 1
267
Kubernetes

33.9K
28.4K
+ 1
601
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Ansible
Pros of Docker Swarm
Pros of Kubernetes
  • 275
    Agentless
  • 204
    Great configuration
  • 192
    Simple
  • 173
    Powerful
  • 150
    Easy to learn
  • 66
    Flexible
  • 54
    Doesn't get in the way of getting s--- done
  • 33
    Makes sense
  • 29
    Super efficient and flexible
  • 27
    Powerful
  • 11
    Dynamic Inventory
  • 8
    Backed by Red Hat
  • 7
    Works with AWS
  • 6
    Cloud Oriented
  • 6
    Easy to maintain
  • 4
    Because SSH
  • 4
    Multi language
  • 4
    Easy
  • 4
    Simple
  • 4
    Procedural or declarative, or both
  • 4
    Simple and powerful
  • 3
    Vagrant provisioner
  • 3
    Consistency
  • 2
    Debugging is simple
  • 2
    Well-documented
  • 2
    Merge hash to get final configuration similar to hiera
  • 2
    Fast as hell
  • 2
    Masterless
  • 1
    Work on windows, but difficult to manage
  • 54
    Docker friendly
  • 45
    Easy to setup
  • 39
    Standard Docker API
  • 37
    Easy to use
  • 22
    Native
  • 21
    Free
  • 12
    Clustering made easy
  • 11
    Simple usage
  • 10
    Integral part of docker
  • 5
    Cross Platform
  • 4
    Labels and annotations
  • 3
    Performance
  • 2
    Shallow learning curve
  • 2
    Easy Networking
  • 152
    Leading docker container management solution
  • 121
    Simple and powerful
  • 96
    Open source
  • 73
    Backed by google
  • 56
    The right abstractions
  • 24
    Scale services
  • 17
    Replication controller
  • 9
    Permission managment
  • 6
    Simple
  • 5
    Supports autoscaling
  • 5
    Cheap
  • 3
    Reliable
  • 3
    No cloud platform lock-in
  • 3
    Self-healing
  • 3
    Open, powerful, stable
  • 3
    Scalable
  • 3
    Promotes modern/good infrascture practice
  • 2
    Cloud Agnostic
  • 2
    Backed by Red Hat
  • 2
    Custom and extensibility
  • 2
    Quick cloud setup
  • 2
    Captain of Container Ship
  • 2
    A self healing environment with rich metadata
  • 1
    Everything of CaaS
  • 1
    Easy setup
  • 1
    Expandable
  • 1
    Runs on azure
  • 1
    Sfg
  • 1
    Golang
  • 1
    Gke

Sign up to add or upvote prosMake informed product decisions

Cons of Ansible
Cons of Docker Swarm
Cons of Kubernetes
  • 5
    Hard to install
  • 4
    Dangerous
  • 3
    Bloated
  • 3
    Backward compatibility
  • 2
    Doesn't Run on Windows
  • 2
    No immutable infrastructure
  • 7
    Low adoption
  • 13
    Poor workflow for development
  • 11
    Steep learning curve
  • 5
    Orchestrates only infrastructure
  • 2
    High resource requirements for on-prem clusters

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 Docker Swarm?

Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself.

What is Kubernetes?

Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.

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

Jobs that mention Ansible, Docker Swarm, and Kubernetes as a desired skillset
What companies use Ansible?
What companies use Docker Swarm?
What companies use Kubernetes?

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

What tools integrate with Ansible?
What tools integrate with Docker Swarm?
What tools integrate with Kubernetes?

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

Blog Posts

+2
2
845
Dec 8 2020 at 5:50PM

DigitalOcean

+11
2
1706
+7
3
646
May 21 2020 at 12:02AM

Rancher Labs

+12
3
1154
Apr 16 2020 at 5:34AM

Rancher Labs

+2
2
746
+14
11
2028
What are some alternatives to Ansible, Docker Swarm, and Kubernetes?
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
Reviews of Ansible, Docker Swarm, and Kubernetes
Review of
Kubernetes

It's a little bit complex to onboard, but once you grasp all the different concepts the platform is really powerful, and infrastructure stops being an issue.

Service discovery, auto-recovery, scaling and orchestration are just a few of the features you get.

How developers use Ansible, Docker Swarm, and Kubernetes
Cloudcraft uses
Ansible

Ansible is the deployment tool for people who don't like deployment tools. It's close to scripting, doesn't pollute your servers with agents or centralized servers, and just makes immediate sense. The entire stack at Cloudcraft.co is orchestrated by Ansible. What does that mean? Beyond the obvious of installing packages and configuring services, Ansible coordinates all the machines into a working deployment: It adds API servers to the loadbancer pool, opens ports on the DB server for the backend servers to connect, gracefully upgrades services in a rolling fashion for zero-downtime deployments etc. And it's so easy to use, it's easier to use than doing things by hand, meaning it's a deployment tool you'll actually use every time!

Scrayos UG (haftungsbeschränkt) uses
Ansible

We use Ansible to synchronize the few configuration-options we've taken on our CoreOS-Machines. This makes deployment even easier and the fact that it's Agentless made the decision even easier.

Bob P uses
Ansible

Ansible is used in both the development and production deployment process. A playbook couple with a Vagrantfile, easy deploys a local virtual machine that will mirror the setup in production.

realcloudratics uses
Kubernetes

Good existential question. Kubernetes is painful in the extreme - especially when combined with Ansible. The layers of indirection are truly mind altering. But hey - containers are kewl!

sapslaj uses
Ansible

I use Ansible to manage the configuration between all of the different pieces of equipment, and because it's agentless I can even manage things like networking devices all from one repo.

Japan Digital Design uses
Kubernetes

Our developer experience system is on Kubernetes (Google Kubernetes Engine at the moment). We would like to expand our Kubernetes clusters over other Kubernetes engine.

BĂąi Thanh uses
Ansible
  • Configuration management:
    • deploy/install all web/app environments
    • simple with Galaxy and playbooks.
  • No need any pre-installed agent on remote servers.
ShareThis uses
Kubernetes

Kubernetes is used for managing microclusters within our AWS infrastructure. This allows us to deploy new infrastructure in seconds.

papaver uses
Kubernetes

minor experience with kubernetes. helped a client setup a kubernetes infrastructure. love the elegance of the system.

Andrew Gatenby uses
Kubernetes

It's the glue that holds our container management together, allowing things to scale when and where we need them.