github.com/zoomfoo/nomad@v0.8.5-0.20180907175415-f28fd3a1a056/website/source/intro/use-cases.html.markdown (about)

     1  ---
     2  layout: "intro"
     3  page_title: "Use Cases"
     4  sidebar_current: "use-cases"
     5  description: |-
     6    This page lists some concrete use cases for Nomad, but the possible use cases 
     7    are much broader than what we cover.
     8  ---
     9  
    10  # Use Cases
    11  
    12  This page lists Nomad's core use cases. Please note that the full range of potential 
    13  use cases is much broader than what is currently covered here. Reading through the 
    14  [Introduction to Nomad](/intro/index.html) is highly recommended before diving into 
    15  the use cases. 
    16  
    17  ## Docker Container Management
    18  
    19  Organizations are increasingly moving towards a Docker centric workflow for 
    20  application deployment and management. This transition requires new tooling 
    21  to automate placement, perform job updates, enable self-service for developers, 
    22  and to handle failures automatically. Nomad supports a [first-class Docker workflow](/docs/drivers/docker.html) 
    23  and integrates seamlessly with [Consul](/guides/operations/consul-integration/index.html) 
    24  and [Vault](/guides/operations/vault-integration/index.html) to enable a complete solution 
    25  while maximizing operational flexibility. Nomad is easy to use, can scale to 
    26  thousands of nodes in a single cluster, and can easily deploy across private data 
    27  centers and multiple clouds.
    28  
    29  ## Legacy Application Deployment
    30  
    31  A virtual machine based application deployment strategy can lead to low hardware 
    32  utlization rates and high infrastructure costs. While a Docker-based deployment 
    33  strategy can be impractical for some organizations or use cases, the potential for 
    34  greater automation, increased resilience, and reduced cost is very attractive. 
    35  Nomad natively supports running legacy applications, static binaries, JARs, and 
    36  simple OS commands directly. Workloads are natively isolated at runtime and bin 
    37  packed to maximize efficiency and utilization (reducing cost). Developers and 
    38  operators benefit from API-driven automation and enhanced reliability for 
    39  applications through automatic failure handling.
    40  
    41  ## Microservices
    42  
    43  Microservices and Service Oriented Architectures (SOA) are a design paradigm in 
    44  which many services with narrow scope, tight state encapsulation, and API driven 
    45  communication interact together to form a larger solution. However, managing hundreds 
    46  or thousands of services instead of a few large applications creates an operational 
    47  challenge. Nomad elegantly integrates with [Consul](/guides/operations/consul-integration/index.html) 
    48  for automatic service registration and dynamic rendering of configuration files. Nomad 
    49  and Consul together provide an ideal solution for managing microservices, making it 
    50  easier to adopt the paradigm.
    51  
    52  ## Batch Processing Workloads
    53  
    54  As data science and analytics teams grow is size and complexity, they increasingly 
    55  benefit from highly performant and scalable tools that can run batch workloads with 
    56  minimal operational overhead. Nomad can natively run batch jobs, [parameterized](https://www.hashicorp.com/blog/replacing-queues-with-nomad-dispatch) jobs, and [Spark](https://github.com/hashicorp/nomad-spark) 
    57  workloads. Nomad's architecture enables easy scalability and an optimistically 
    58  concurrent scheduling strategy that can yield [thousands of container deployments per 
    59  second](https://www.hashicorp.com/c1m). Alternatives are overly complex and limited 
    60  in terms of their scheduling throughput, scalability, and multi-cloud capabilities.
    61  
    62  **Related video**: [End to End Production Nomad at Citadel](https://www.youtube.com/watch?reload=9&v=ZOBcGpGsboA)
    63  
    64  ## Multi-region and Multi-cloud Deployments
    65  
    66  Nomad is designed to natively handle multi-datacenter and multi-region deployments 
    67  and is cloud agnostic. This allows Nomad to schedule in private datacenters running 
    68  bare metal, OpenStack, or VMware alongside an AWS, Azure, or GCE cloud deployment. 
    69  This makes it easier to migrate workloads incrementally and to utilize the cloud 
    70  for bursting.
    71  
    72