github.com/smintz/nomad@v0.8.3/website/source/intro/vs/swarm.html.md (about)

     1  ---
     2  layout: "intro"
     3  page_title: "Nomad vs. Docker Swarm"
     4  sidebar_current: "vs-other-swarm"
     5  description: |-
     6    Comparison between Nomad and Docker Swarm
     7  ---
     8  
     9  # Nomad vs. Docker Swarm
    10  
    11  Docker Swarm is the native clustering solution for Docker. It provides
    12  an API compatible with the Docker Remote API, and allows containers to
    13  be scheduled across many machines.
    14  
    15  Nomad differs in many ways with Docker Swarm, most obviously Docker Swarm
    16  can only be used to run Docker containers, while Nomad is more general purpose.
    17  Nomad supports virtualized, containerized and standalone applications, including Docker.
    18  Nomad is designed with extensible drivers and support will be extended to all
    19  common drivers.
    20  
    21  Docker Swarm provides API compatibility with their remote API, which focuses
    22  on the container abstraction. Nomad uses a higher-level abstraction of jobs.
    23  Jobs contain task groups, which are sets of tasks. This allows more complex
    24  applications to be expressed and easily managed without reasoning about the
    25  individual containers that compose the application.
    26  
    27  The architectures also differ between Nomad and Docker Swarm.
    28  Nomad does not depend on external systems for coordination or storage,
    29  is distributed, highly available, and supports multi-datacenter
    30  and multi-region configurations.
    31  
    32  By contrast, Swarm is not distributed or highly available by default.
    33  External systems must be used for coordination to support replication.
    34  When replication is enabled, Swarm uses an active/standby model,
    35  meaning the other servers cannot be used to make scheduling decisions.
    36  Swarm also does not support multiple failure isolation regions or federation.
    37