github.com/dkerwin/nomad@v0.3.3-0.20160525181927-74554135514b/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 17 [documentation](/docs/index.html) provides a better reference 18 guide for all available features as well as internals. 19 20 ## What is Nomad? 21 22 Nomad is a tool for managing a cluster of machines and running applications 23 on them. Nomad abstracts away machines and the location of applications, 24 and instead enables users to declare what they want to run and Nomad handles 25 where they should run and how to run them. 26 27 The key features of Nomad are: 28 29 * **Docker Support**: Nomad supports Docker as a first-class workload type. 30 Jobs submitted to Nomad can use the `docker` driver to easily deploy containerized 31 applications to a cluster. Nomad enforces the user-specified constraints, 32 ensuring the application only runs in the correct region, datacenter, and host 33 environment. Jobs can specify the number of instances needed and 34 Nomad will handle placement and recover from failures automatically. 35 36 * **Operationally Simple**: Nomad ships as a single binary, both for clients and servers, 37 and requires no external services for coordination or storage. Nomad combines features 38 of both resource managers and schedulers into a single system. Nomad builds on the strength 39 of [Serf](https://www.serfdom.io) and [Consul](https://www.consul.io), distributed management 40 tools by [HashiCorp](https://www.hashicorp.com). 41 42 * **Multi-Datacenter and Multi-Region Aware**: Nomad models infrastructure as 43 groups of datacenters which form a larger region. Scheduling operates at the region 44 level allowing for cross-datacenter scheduling. Multiple regions federate together 45 allowing jobs to be registered globally. 46 47 * **Flexible Workloads**: Nomad has extensible support for task drivers, allowing it to run 48 containerized, virtualized, and standalone applications. Users can easily start Docker 49 containers, VMs, or application runtimes like Java. Nomad supports Linux, Windows, BSD and OSX, 50 providing the flexibility to run any workload. 51 52 * **Built for Scale**: Nomad was designed from the ground up to support global scale 53 infrastructure. Nomad is distributed and highly available, using both 54 leader election and state replication to provide availability in the face 55 of failures. Nomad is optimistically concurrent, enabling all servers to participate 56 in scheduling decisions which increases the total throughput and reduces latency 57 to support demanding workloads. 58 59 ## Next Steps 60 61 See the page on [Nomad use cases](/intro/use-cases.html) to see the 62 multiple ways Nomad can be used. Then see 63 [how Nomad compares to other software](/intro/vs/index.html) 64 to see how it fits into your existing infrastructure. Finally, continue onwards with 65 the [getting started guide](/intro/getting-started/install.html) to use 66 Nomad to run a job and see how it works in practice. 67