github.com/zhizhiboom/nomad@v0.8.5-0.20180907175415-f28fd3a1a056/website/source/intro/index.html.markdown (about)

     1  ---
     2  layout: "intro"
     3  page_title: "Introduction"
     4  sidebar_current: "what"
     5  description: |-
     6    Welcome to the intro guide to Nomad! This guide is the best place to start with Nomad. We cover what Nomad is, what problems it can solve, how it compares to existing software, and a quick start for using Nomad.
     7  ---
     8  
     9  # Introduction to Nomad
    10  
    11  Welcome to the intro guide to Nomad! This guide is the best
    12  place to start with Nomad. We cover what Nomad is, what
    13  problems it can solve, how it compares to existing software,
    14  and contains a quick start for using Nomad.
    15  
    16  If you are already familiar with the basics of Nomad, the [Guides](/guides/index.html) 
    17  and the [reference documentation](/docs/index.html) will provide a more comprehensive 
    18  resource.
    19  
    20  ## What is Nomad?
    21  
    22  Nomad is a flexible container orchestration tool that enables an organization to 
    23  easily deploy and manage any containerized or legacy application using a single, 
    24  unified workflow. Nomad can run a diverse workload of Docker, non-containerized, 
    25  microservice, and batch applications, and generally offers the following benefits 
    26  to developers and operators:
    27  
    28  * **API-driven Automation**: Workload placement, scaling, and upgrades can be 
    29    automated, simplifying operations and eliminating the need for homegrown tooling.
    30  * **Self-service Deployments**: Developers are empowered to service application 
    31    lifecycles directly, allowing operators to focus on higher value tasks.
    32  * **Workload Reliability**: Application, node, and driver failures are handled 
    33    automatically, reducing the need for manual operator intervention
    34  * **Increased Efficiency and Reduced Cost**: Higher application densities allow 
    35    operators to reduce fleet sizes and save money.
    36  
    37  Nomad is trusted by enterprises from a range of sectors including financial, 
    38  retail, software, and others to run production workloads at scale across private 
    39  infrastructure and the public cloud.
    40  
    41  ## How it Works
    42  
    43  At its core, Nomad is a tool for managing a cluster of machines and running applications
    44  on them. Nomad abstracts away machines and the location of applications,
    45  and instead enables users to declare what they want to run while Nomad handles
    46  where and how to run them. 
    47  
    48  The key features of Nomad are:
    49  
    50  * **Docker Support**: Nomad supports Docker as a first-class workload type.
    51    Jobs submitted to Nomad can use the `docker` driver to easily deploy containerized
    52    applications to a cluster. Nomad enforces the user-specified constraints,
    53    ensuring the application only runs in the correct region, datacenter, and host
    54    environment. Jobs can specify the number of instances needed and
    55    Nomad will handle placement and recover from failures automatically.
    56  
    57  * **Operationally Simple**: Nomad ships as a single binary, both for clients and servers,
    58    and requires no external services for coordination or storage. Nomad combines features
    59    of both resource managers and schedulers into a single system. Nomad builds on the strength
    60    of [Serf](https://www.serf.io) and [Consul](https://www.consul.io), distributed management
    61    tools by [HashiCorp](https://www.hashicorp.com).
    62  
    63  * **Multi-Datacenter and Multi-Region Aware**: Nomad models infrastructure as
    64    groups of datacenters which form a larger region. Scheduling operates at the region
    65    level allowing for cross-datacenter scheduling. Multiple regions federate together
    66    allowing jobs to be registered globally.
    67  
    68  * **Flexible Workloads**: Nomad has extensible support for task drivers, allowing it to run
    69    containerized, virtualized, and standalone applications. Users can easily start Docker
    70    containers, VMs, or application runtimes like Java. Nomad supports Linux, Windows, BSD and OSX,
    71    providing the flexibility to run any workload.
    72  
    73  * **Built for Scale**: Nomad was designed from the ground up to support global scale
    74    infrastructure. Nomad is distributed and highly available, using both
    75    leader election and state replication to provide availability in the face
    76    of failures. Nomad is optimistically concurrent, enabling all servers to participate
    77    in scheduling decisions which increases the total throughput and reduces latency
    78    to support demanding workloads. Nomad has been proven to scale to cluster sizes that 
    79    exceed 10k nodes in real-world production environments.
    80  
    81  ## How Nomad Compares to Other Tools
    82  
    83  Nomad differentiates from related tools by virtue of its **simplicity**, **flexibility**, 
    84  **scalability**, and **high performance**. Nomad's synergy and integration points with 
    85  HashiCorp Terrform, Consul, and Vault make it uniquely suited for easy integration into 
    86  an organization's existing workflows, minimizing the time-to-market for critical initiatives. 
    87  See the [Nomad vs. Other Software](/intro/vs/index.html) page for additional details and 
    88  comparisons.
    89  
    90  ## Next Steps
    91  
    92  See the page on [Nomad use cases](/intro/use-cases.html) to see the
    93  multiple ways Nomad can be used. Then see
    94  [how Nomad compares to other software](/intro/vs/index.html)
    95  to see how it fits into your existing infrastructure. Finally, continue onwards with
    96  the [getting started guide](/intro/getting-started/install.html) to use
    97  Nomad to run a job and see how it works in practice.
    98