Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
What is the best alternative to Kubernetes?
Ad
Ad
Nomad
All
5
Experiences
Pros
4
Cons
1
Top
Pro
Simple, minimal architecture
Being focused on one thing only also has its advantages. For one, Nomad is very simple architecturally. There's only a single binary for both clients and servers, it also does not need any external services for any coordination or storage.
See More
Top
Con
Only provides cluster management and scheduling
While other orchestration tools provide much more than just cluster management and scheduling (they also provide things like secrets management, discovery, monitoring, etc.), Nomad follows the Unix philosophy of doing only one thing and doing it well, providing only cluster management and scheduling.
See More
Top
Pro
Complex applications can easily be expressed through Nomad
Nomad uses a high-level abstraction of jobs. Jobs are essentially task groups (sets of tasks). Because of this, Nomad allows users to develop and manage complex applications easily, without having to think about the individual containers that make these applications.
See More
Top
Pro
Easy to reason about
Nomad gives a lot of output and is intentionally kept simple. This makes maintenance easy and reduces downtimes.
See More
Top
Pro
Big comapnies, like eBay and CircleCI use it
See More
Hide
Get it
here
20
0
Rancher
All
5
Experiences
Pros
5
Top
Pro
Web GUI cluster management
Intuitive and easy to use web gui.
See More
Top
Pro
Mult-environment cluster system
Cattle (Rancher default) Swarm Kubernetes Mesos
See More
Top
Pro
Service catalog is easy
Rancher provides a catalog of application templates that make it easy to deploy complex stacks. Rancher certified catalog Community service catalog
See More
Top
Pro
Self-service application stack for self-monitoring
Great contributions from the co community who build the service stack catalog. One of them is the "Prometheus" template which deploys a collection of containers for monitoring a platform. It's capable of querying all aspects of your environment with some nice pre-built dashboards.
See More
Top
Pro
Access control polices
Detailed role-based access control policies can be defined independently for each cluster.
See More
Hide
Get it
here
47
1
Docker Swarm
All
8
Experiences
Pros
5
Cons
3
Top
Pro
Easy setup
This also means that containers can be launched with a simple docker run command and Swarm will take care of the rest, such as selecting the appropriate host on which to run the container.
See More
Top
Con
If a node dies in the Swarm Cluster, the containers on that node WILL be started on a another node ...
See More
Top
Pro
Communicates with other Docker tools easily
Since Docker Swarm is a native Docker tool, it exposes the Docker API, making it possible t integrate it and communicate with other Docker tools (CLI, Compose, Krane, etc.).
See More
Top
Con
Not fault tolerant
If a node dies in your cluster, the containers on that node won't be restarted
See More
Top
Pro
Lightweight
Docker Swarm is much more lightweight than alternatives: Kubernetes and Mesosphere. Kubernetes, for instance, is very complex - it downloads and installs half of the web, where Docker Swarm has much, much smaller footprint.
See More
Top
Con
Bounded by the limitations of the Docker API
If the Docker API doesn't support something, then you are pretty much out of luck when it comes to Docker Swarm, because it won't be supported by Swarm either.
See More
Top
Pro
Open source
Docker Swarm is open source and provides great guides/documentation for those who want to contribute.
See More
Top
Pro
Compatible with Docker Compose
This gives you a well-rounded workflow.
See More
Hide
See All
Experiences
Get it
here
40
5
Docker
All
14
Experiences
Pros
10
Cons
3
Specs
Top
Pro
Allows for portable application deployment
Docker creates a single object, containing an application with its dependencies, that can be moved between any docker-enabled machines, guaranteeing the same environment for application execution.
See More
Top
Con
Large image size
See More
Top
Pro
Git-like capabilities
Docker tracks changes in systems. It allows for commits and rollbacks and for quick deployment due to having to deploy only the updated code.
See More
Top
Con
Security concerns
See More
Top
Pro
Allows re-using components
Docker essentially allows creating boilerplate systems (a LAMP stack, for example) that can be used as a starting point on multiple projects. And you can find multiple such containers already created by people in their public registry.
See More
Top
Con
Kernel OS fragmentation
See More
Top
Pro
Automatic build
Allows automatically assembling a container from its source code.
See More
Top
Pro
Provides easy sharing and installation of containers through a public registry
Docker allows easily pushing and pulling containers to and from their public index.docker.io registry. Additionally, dotCloud maintains a list of official repositories of the more popular containers.
See More
Top
Pro
Application-centric
See More
Top
Pro
Works in virtualized environments
You can set up Docker within an already virtualized environment such as a virtual machine. This allows you to run Docker on Mac and Windows, among other use-cases.
See More
Top
Pro
Low overhead
See More
Top
Pro
Supports a wide range of isolation tools
Docker can be used with OpenVZ, systemd-nspawn, libvirt-lxc, libvirt-sandbox, qemu/kvm, BSD Jails, Solaris Zones, and chroot.
See More
Top
Pro
Tool ecosystem
See More
Specs
Platforms:
Windows, Linux, Mac
Hide
See All
Experiences
Get it
here
41
10
Apache Mesos
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Good for existing workloads
If you have existing workloads, for example (Hadoop, Kafka, Spark, etc), Mesos makes it very easy to use these workloads together.
See More
Top
Con
May be over-complicated for small clusters
When working with small clusters (less than a dozen nodes), Mesos may be an over-complicated solution since it's rather low level and designed for large clusters and scaling.
See More
Top
Pro
Good with data processing applications
Many modern data processing applications (Hadoop, Kafka, Spark) run very well on Mesos. This is especially nice because they can all be run on the same resource pool, along with new container packaged apps.
See More
Top
Pro
Scales very well
Mesos is a battle-proven piece of software which has been used in many large-scale projects (it's used by Twitter, Ebay and AirBnB) and can support hundreds of thousands of nodes.
See More
Hide
Get it
here
3
0
OpenShift
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Small learning curve
Learning to use OpenShift is pretty easy. Most environments can be set up in a few simple steps and for everything else the official documentation and third-party resources are extremely helpful.
See More
Top
Con
Official customer support is lacking
OpenShift seems to rely more on written documentation and on the community to solve any problem users may have. The forums and IRC channel are active and very helpful, but the official customer support could be better.
See More
Top
Pro
Built-in continuous integration
Continuous integration is not only built-in OpenShift, it's actually a standard part the workflow.
See More
Top
Pro
Can be used to introduce specialized tasks through the application hosted on it
Because of its high flexibility and customization power, OpenShift can be used to create specialized tasks for the application being hosted on it. For example, an entire array of dynos (also known as gears) can be dedicated to media transcoding in order to build a custom media converter infrastructure.
See More
Hide
Free / paid
10
1
AZK
All
4
Experiences
Pros
4
Top
Pro
Soft learning curve
azk has straight forward documentation and an accessible, active community that are available by Twitter, their Slack chat and more.
See More
Top
Pro
Good performance
See More
Top
Pro
Reusable environments
Existent configuration files (azkfiles) are very easy to customize, making them (and by extension the environments themselves) very customizable.
See More
Top
Pro
Easy to use
The API and CLI is powerful and simple enough for beginners to rapidly get started
See More
Hide
Free
5
1
Docker Compose
All
4
Experiences
Pros
2
Cons
2
Top
Pro
Easy setup
All that's needed to setup a multi-container application with Compose is a single file configuration file. Finally the application can be spun up with only a single command.
See More
Top
Con
More geared towards development
No really made for production.
See More
Top
Pro
Great for local development
Docker-compose isn't really meant (yet) for distributed deployment, but using it to deploy a website locally for testing is awesome. You could use it, with care (like handling faults), on a single server as well.
See More
Top
Con
Not ready for production yet
While Compose is very good for staging servers, CI and development environments, it's still not ready for production and it's not recommended to be used in production yet.
See More
Hide
Free
11
3
Bash (Bourne-Again SHell)
All
21
Experiences
Pros
13
Cons
8
Top
Pro
Default shell on most systems
Bash is the default shell on virtually every UNIX system. Making it very portable across different systems and once you get used to it, you can use it everywhere.
See More
Top
Con
Extremely complicated and inconsistent rules
In Bash, exceptions are the rule, not even all being described by the main page. There are a grand total of 5 different ways of quoting, sometimes even when one does not want to, for instance in command substitutions. These are all based around preserving the literal meaning of every character, with an exception list. There is even an exception list to the exception list in 4 of the 5, regarding how the backslash behaves! The behavior of the backslash is also one of the quoting rules, so naturally, it also has an exception in how it works when it stands before a newline as compared to other characters. Bash has several layers of interpretations, all to be kept in mind: The ~ expands to the home of the current user. So if you store it in a variable, can you use it that way? Nope: tilde expansion comes before variable expansion. Aha, so that's how it works! Then, since applying quotation happens after redirections are set up, it must mean that redirecting within quotes works, right? Nope: there is an exception! If a redirection symbol is not quoted, quotation around the symbol is observed, but is not removed. So, since variable expansion also comes after setting up redirections, and no exceptions are described here in the man page, getting the name of a file from a variable and using it as a target should not work, right? No: redirection does not actually take place when the symbols are being read, the symbols are merely removed and are noted for later, right before when the actual command runs. Apart from 5 types of quotation, there are basically 2 quoting phases, 2 word splitting phases (with only one being controllable), and a tokenization phase on top of that. If you have a command, it could be an alias, a special built in, a non-special built in, a symbolic link to a file, a regular file, a function, with different rules regarding how they can be overridden, if redirection happens before or after arguments have been passed (what does "time my_command 2>&1 >log_file" do?), etc. This list is admittedly long, but it doesn't even scratch the surface of the bloat, complexity and inconsistencies of Bash.
See More
Top
Pro
Plenty of examples and tutorials
Since this is very mature shell there is a lot of great examples and other resources describing how to do almost everything.
See More
Top
Con
GPL3 is not compatible with Apple's lawyers
Apple, one of the largest distributors of UNIX systems, only ships an ancient version of bash that predates the iPhone. No one knows why as Apple hasn't said, but the version Apple includes in MacOS is from right before the license was updated to version 3 of the GNU GPL (General Public License). Other major companies (IBM, Microsoft) have had no problem shipping the latest version of bash, so it's unclear what Apple's lawyers are averse to. The GPL has always said that if you distributed a program, you granted everyone the right to use it freely. The biggest change in version 3 was the addition, "...and that includes software patents." This was necessary because back in 2006 Microsoft was demanding that any company that uses Linux pay them or get sued for infringing on their patents. They even took some companies, like TomTom, to court. No software which can be restricted retroactively like that is truly free, so GPL 3+ includes a clause saying that if you distribute the program, then you are also granting license to any patents you own that are necessary to run it. What patents Apple has that bash could possibly infringe on is a mystery, but the bigger question is, Why does Apple even care? So what if they are granting people the right to run bash without being sued by Apple. It's not like they were planning on doing that, right? Even though it is not bash's fault that it is not Apple Lawyer-approved, this is a CON for it because a lot of people use Apple products. While there are methods like brew to install a current version of bash, Apple does not make it obvious to their customers what they are missing.
See More
Top
Pro
Rich scripting capabilities on a single line
Want to run something 5 times? Write a throw-away loop: for i in 1 2 3 4 5; do date; done If you need it 100 times? Not a problem: for i in {1..100}; do date; done or: for ((i=0; i<100; ++i)); do date; done How about emailing yourself when remote server is back online? Sure thing: while ! ping -c1 example.com &>/dev/null; do date; sleep 5; done && mailx -s 'server is back!' me@myself.com
See More
Top
Con
Compatibility can be a curse
One of bash's claims to fame is compatibility with previous versions of itself and historic shells. But, doing that means that new features are often written in tortured, awkward syntax that is not easy to learn. For example, bash uses the POSIX way of doing arithmetic: to add 5+3 you must put the numbers in double parentheses with a dollar sign at the start: x=$((5+3)). It is true that many shells suffer from this same CON, but since bash is such an important shell, it has less wiggleroom to ditch clunky ideas that might break existing scripts.
See More
Top
Pro
POSIX compatible
See More
Top
Con
Lags behind on features compared to ZSH and Fish
People who wants power features or to customize their shell experience use zsh or fish.
See More
Top
Pro
Emacs-like keyboard control
By default, BASH uses shortcuts and concepts very similar to Emacs, so learning one often results in familiarity with the other.
See More
Top
Con
Filename expansion is not consistent
filename expansion is not consistent. "echo *" will print the names of the files in your current dir, if there are any... and will print "*" if there are none.
See More
Top
Pro
Rich built-in features
By default, there are many built-in features. They make really complex and reliable programs possible. In comparison to dash, for example, you can do the same tasks in less time and fewer lines of code.
See More
Top
Con
Non-intuitive shell expansion in for loops
If there are no .sh files, this will print mask itself: for filename in *.sh; do echo $filename done
See More
Top
Pro
Variables and aliases are listed the way they are built
alias and set will list aliases and variables in a format that can be run directly with no modifications. Even if the values contain \n. This is handy if you want to modify a value.
See More
Top
Con
No out-of-the-box command autocompletion
To have command autocompletion in bash you need to install third-party plug-ins.
See More
Top
Pro
Recursive globbing
ls **/*.log for example is supported by Bash if you set shopt -s globstar.
See More
Top
Con
One of the most dangerous languages around
What it is mostly used for are file system operations. Guess what it is bad at? Operating on files. It automatically splits and carries out filename expansion on every single string resulting from variable expansion and command substitution unless quoted, by default on whitespace, whilst spaces are very common in filenames. Before that, it even does pathname expansion, so woe to anywone who does not want to actually operate on files, but has a globbing metacharacter stored anywhere in a variable. This means what you store in a variable is not going to be what will ACTUALLY be accessed. If an empty variable is unquoted, it disappears completely due to word splitting, sometimes leading to applications signalling a missing parameter at a wrong position. If quoted however, said variables cannot be iterated over in a loop, no matter what character one uses for word splitting. If you use any globbing pattern with a command, be sure to use -- after the option arguments or if none are present, before starting the pattern with a mandatory ./ Otherwise, another Bash script run gone wrong or a hacker can create files named like an option ("-f", for instance) and your program will happily accept it as such, if it results from globbing. For interactive use, it is convenient. For programming, it is a no-go.
See More
Top
Pro
Man page is a trove of wonders
While the manual "page" is nearly a hundred pages long, it is actually surprisingly succinct and stuffed with good information. It is often better than Googling for answers when writing shell scripts. The way it is written makes it easy to stumble upon useful new programming features just by flipping through it . NOTE: If you find it dense and hard to read at the command line, look for the PDF version.
See More
Top
Pro
vi mode is more comprehensive than on other shells
Vi editing mode works without a glitch. "_" will print you the last argument of the latest command (zsh won't). VI mode is fast off the bat - You don't have to reset any variable (like "KEYTIMEOUT" in zsh) for that.
See More
Top
Pro
Copyright license is GPL 3+
Bash is licensed under the GNU General Public License ≥3, which gives much stronger assurances that the right to use it can't be restricted. For example, Microsoft would not be able to claim in court that, even though they've distributed Bash with the GPLv3, a license that explicitly grants people freedom, now Bash is essentially proprietary due to software patents and everyone who uses Bash owes them money. (This may sound ludicrous to those who were not alive when Microsoft tried a similar scheme against Linux fifteen years ago). The GPLv3 is a license that reflects the genuine ethical issues that arise when people give their time and skills to collaboratively build software. While most people wouldn't insist that their UNIX shell is licensed under the GPLv3+, it does matter and is a big PRO for Bash.
See More
Top
Pro
Built-in 'help'... helps a lot
Built-in 'help' provides quick and efficient help on builtins and keywords.
See More
Top
Pro
Rich scripting capabilities
BASH scripting is a rich and robust language.
See More
Hide
See All
Experiences
Get it
here
140
26
Ansible
All
15
Experiences
Pros
9
Cons
5
Specs
Top
Pro
Agentless
Ansible does not use agents. Instead, all master-agent communications are handled via SSH commands or through the Paramiko module which provides a Python interface to SSH.
See More
Top
Con
Slow
Compared to other tools, Ansible requires more time to complete the same actions.
See More
Top
Pro
Gentle learning curve
Ansible is agentless, making it quick and painless to setup. Ansible has clear and detailed documentation and provides plenty of built-in modules. Its DSL is obtained using YAML and a familiar template system.
See More
Top
Con
Somewhat weak documentation
Ansible is still relatively new, as far as server automation tools go. This is the reason that many users have found it's documentation lacking in some parts. Although this is mitigated by the fact that it's very easy to learn to use.
See More
Top
Pro
Simple tasks can be run from the command line
Some simple tasks such as triggering updates or reboots, or even checking if the service is running can be done without configuration files. These commands can be run from the command line instead.
See More
Top
Con
Too easy to move the port in the crappy scripts you've been using for years
If you have an extensive codebase of scripts, your users might find it too easy to just port in the same unsupportable crappy scripts they've been using for years.
See More
Top
Pro
Support for major cloud providers
Ansible supports managing major cloud devices (AWS, RackSpace, Digital Ocean, OpenStack) through a collection of modules which are available.
See More
Top
Con
Doesn't have its own inventory system
Ansible really depends on you to provide it a list of nodes to run on and doesn't actively maintain a central inventory
See More
Top
Pro
Extensible in any language / runtime
Although you may need to preinstall favorite programming environment, Ansible modules are accessed via shell calls and therefore any executable on the remote system built for use with Ansible may be used as an Ansible module.
See More
Top
Con
No Python API available, despite the fact that Ansible is written in Python
Despite being written and taking good advantage of the python environment, Ansible offers no python api for programming, and does not make it possible to follow best practices for writing custom Ansible modules.
See More
Top
Pro
Web UI
Ansible has a Web UI in the form of AnsibleWorks AWX which unfortunately does not tie directly into the CLI. So configuration elements present in the CLI can not appear in the UI unless a sync pass is run. Although the Web UI is helpful and functional, it's still not as complete feature-wise as the CLI.
See More
Top
Pro
Easy to customize
Ansible is very easy to customize. It doesn't force you to use a language with which you are unfamiliar. Instead, all commands are packaged into YAML modules which are called playbooks. So as long as you use a programming language that can output JSON, you are able to customize it.
See More
Top
Pro
Rich diff
Modules that support rich diffs can expose nearly every detail of what will change. However not all core modules support diffs, so there may still be some opaque chances made.
See More
Top
Pro
Creating reusable components is simple
Making roles modular and reusable is a fast process with Ansible.
See More
Specs
Platforms:
Windows, Mac, Linux
Technology:
Python
Hide
See All
Experiences
Free / paid
41
12
Puppet
All
18
Experiences
Pros
9
Cons
8
Specs
Top
Pro
Declarative sematic
You define the state the server should be in and Puppet transforms it that state. This is opposed to explicitly declaring a list of actions to be performed. If a developer wants more flexibility and control there's always the option of falling back to explicitly running commands but that's discouraged.
See More
Top
Con
Poor training materials
The puppet documentation does not contain any proper tutorials to help new users on board easily.
See More
Top
Pro
Broad cross-platform support
Puppet is supported on a wide range of operating systems. See the Docs for a complete list.
See More
Top
Con
Interaction between modules can get quite complex very fast
Due to it's out of order execution you can easily get into race condition between different modules. You have to be very careful declaring pre-requisites for the tasks so they don't step on top of each other. On the other hand when you get this lets you deploy things much faster than straight line execution tools
See More
Top
Pro
Large helpful community
Puppet is very mature and relatively old. This means that it has gathered quite a following over the years. This large community means that there are a lot of modules, guides and configuration recipes ready to use built by the community.
See More
Top
Con
Lacks flexibility
The lack of control over Puppet's model-driven approach can result in less flexibility and power from the tool.
See More
Top
Pro
Complete
Puppet is a complete solution in terms of available features and modules. It has full support for all the main Operating Systems and provides lots of tools for its users.
See More
Top
Con
Solid knowledge of Ruby is needed to create your own modules
Modules and configurations are written in a specific language based on Ruby or in Ruby itself. So in order to be able to create custom configuration and modules you need a solid knowledge of Ruby. Although it's fair to mention that there are many modules already available for every use-case.
See More
Top
Pro
Exceptional enterprise support
Puppet Enterprise is used by 75 of the fortune 100 companies.
See More
Top
Con
Requires culture shifts
You might find difficulty adopting puppet due to the effort involved in convincing admins to switch from procedural automation to desired state automation.
See More
Top
Pro
All-in-one Package since version 4
With Facter, Collective and Hiera.
See More
Top
Con
Does not enforce policy when the puppetmaster is offline
Does not enforce policy when the puppetmaster is offline, does have a caching mechanism but since it does not include any files that need to be transfer it basically does not work
See More
Top
Pro
Helpful UI
Puppet's UI is very useful. It allows real-time control of managed nodes by using modules and configuration recipes that are on the master servers. Although the UI is great for management, it lacks when trying to configure modules.
See More
Top
Con
Slow as hell
Compared with other CM tools it's very slow and needs to do a lot of caching to give it the impression that it's fast (which it's not)
See More
Top
Pro
Easy to learn
Puppet is model-driven and easier for diverse teams (that may include non-devs) to learn than it's main competitor, Chef.
See More
Top
Con
Syntax is a mess
To use puppet to the full extent you need to know the following tools; most of them are an integral part of puppet, Ruby, Ruby templates, puppet DSL, Hiera, Facter and Mcollective which all have a different syntax
See More
Top
Pro
Can enforce policy even without a connection to the puppet master
With cached catalogs, puppet agents can continue to enforce policy even while your masters aren't functional
See More
Specs
Platforms:
Windows, Linux, Mac, Web
Technology:
Ruby
Hide
See All
Experiences
Free / paid
16
6
Marathon on Apache Mesos
All
5
Experiences
Pros
5
Top
Pro
Extremely fault-tolerant
Mesos handles (HA) master or agent failover; Marathon HA can survive scheduler failover; and Marathon automatically restarts failed tasks to maintain the desired number of task instances.
See More
Top
Pro
Mesos is battle-tested at scale in production
Running all of Twitter, Apple's Siri, etc.
See More
Top
Pro
Scalable to 10,000s of containers
See More
Top
Pro
Free and Open Source
http://github.com/mesosphere/marathon https://github.com/apache/mesos
See More
Top
Pro
Also supports non-Docker cgroups containers
See More
Hide
Get it
here
12
6
Chef
All
8
Experiences
Pros
5
Cons
2
Specs
Top
Pro
Large community
Chef has a relatively large community. One of the reasons for it is the fact that it's a pretty old and mature tool. Chef, originally released in 2009, is a more mature product. Being popular and with a large and dedicated community means that Chef has lots and lots of resources and guides from third party sources out there for beginners to pick up. Not only that, there are also many plugins and configuration recipes made by the community.
See More
Top
Con
Ties you to Ruby
Chef is written in Ruby and its CLI uses a Ruby-based DSL. In order to fully use and customize it you need to use Ruby as Chef does not give users any other choice when it comes to languages to use to configure it.
See More
Top
Pro
Cross-platform
Chef is cross-platform. Offering support for the biggest platforms out there: Linux, Windows and *nix.
See More
Top
Con
Steep learning curve
Chef has a steeper learning curve than many of its competitors, making it a more difficult tool for the non-devs of a team (such as sysadmins) to work with. For some teams, the added cost of teaching Chef to the team may outweigh the benefits.
See More
Top
Pro
Popular choice among large companies
Chef has an impressive list of companies using it's automation service. Among them is Facebook, Etsy, Ancestry.com, PharmMD and Yahoo.
See More
Top
Pro
Strong version control capabilities
Chef is centered around Git for it's configuration and deployments. Because of this, Chef also has great version control capabilities through Git.
See More
Top
Pro
Mature
Chef was released in 2009, which is relatively a long time ago for software. Since then it has been through several versions and many bug fixes and tests. All of this can make Chef more appealing to teams who are looking for stability and maturity, which are things that Chef brings on the table.
See More
Specs
Platforms:
Windows, Linux, Mac, BSD
Technology:
Ruby
Hide
See All
Experiences
Free / paid
10
8
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
{}
undefined
url next
price drop