github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/website/pages/intro/use-cases.mdx (about)

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