From c2364f12c719b2ca6ec6ed30d00216daf2d168f6 Mon Sep 17 00:00:00 2001 From: Armon Dadgar Date: Thu, 17 Sep 2015 16:29:25 -0700 Subject: [PATCH] website: Working on internal architecture --- website/config.rb | 6 +- website/source/assets/images/global-arch.png | Bin 0 -> 49248 bytes website/source/assets/images/region-arch.png | Bin 0 -> 99318 bytes website/source/docs/index.html.markdown | 8 +- .../docs/internals/architecture.html.md | 200 ++++++++---------- website/source/layouts/_header.erb | 2 +- 6 files changed, 95 insertions(+), 121 deletions(-) create mode 100644 website/source/assets/images/global-arch.png create mode 100644 website/source/assets/images/region-arch.png diff --git a/website/config.rb b/website/config.rb index 0c7f7bdb2..aa8a6723e 100644 --- a/website/config.rb +++ b/website/config.rb @@ -2,12 +2,12 @@ # Configure Middleman #------------------------------------------------------------------------- -set :base_url, "https://www.vaultproject.io/" +set :base_url, "https://www.nomadproject.io/" activate :hashicorp do |h| - h.version = ENV["VAULT_VERSION"] + h.version = ENV["NOMAD_VERSION"] h.bintray_enabled = ENV["BINTRAY_ENABLED"] - h.bintray_repo = "mitchellh/vault" + h.bintray_repo = "mitchellh/nomad" h.bintray_user = "mitchellh" h.bintray_key = ENV["BINTRAY_API_KEY"] diff --git a/website/source/assets/images/global-arch.png b/website/source/assets/images/global-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..8c4d96cebfd50bf86522c5a00187a5408f988efe GIT binary patch literal 49248 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 A)c^nh literal 0 HcmV?d00001 diff --git a/website/source/assets/images/region-arch.png b/website/source/assets/images/region-arch.png new file mode 100644 index 0000000000000000000000000000000000000000..76b647a55177942c62412487282d245c728715eb GIT binary patch literal 99318 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 **Advanced Topic!** This page covers technical details -of Vault. You don't need to understand these details to -effectively use Vault. The details are documented here for +of Nomad. You don't need to understand these details to +effectively use Nomad. The details are documented here for those who wish to learn about them without having to go -spelunking through the source code. However, if you're an -operator of Vault, we recommend learning about the architecture -due to the importance of Vault in an environment. +spelunking through the source code. # Glossary Before describing the architecture, we provide a glossary of terms to help clarify what is being discussed: -* **Storage Backend** - A storage backend is responsible for durable storage of _encrypted_ data. - Backends are not trusted by Vault and are only expected to provide durability. The storage - backend is configured when starting the Vault server. +* **Job** - A Job is a specification provided by users that declares a workload for + Nomad. A Job is a form of _desired state_, the user is expressing that the job should + be running, but not where it should be run. The responsibility of Nomad is to make sure + the _actual state_ matches the user desired state. A Job is composed of one or more + task groups. -* **Barrier** - The barrier is cryptographic steel and concrete around the Vault. All data that - flows between Vault and the Storage Backend passes through the barrier. The barrier ensures - that only encrypted data is written out, and that data is verified and decrypted on the way - in. Much like a bank vault, the barrier must be "unsealed" before anything inside can be accessed. +* **Task Group** - A Task Group is a set of tasks that must be run together. For example, a + web server may require that a log shipping co-process is always running as well. A task + group is the unit of scheduling, meaning the entire group must run on a client node and + cannot be split. -* **Secret Backend** - A secret backend is responsible for managing secrets. Simple secret backends - like the "generic" backend simply return the same secret when queried. Some backends support - using policies to dynamically generate a secret each time they are queried. This allows for - unique secrets to be used which allows Vault to do fine-grained revocation and policy updates. - As an example, a MySQL backend could be configured with a "web" policy. When the "web" secret - is read, a new MySQL user/password pair will be generated with a limited set of privileges - for the web server. +* **Task** - A Task is the smallest unit of work in Nomad. Tasks are executed by drivers, + which allow Nomad to be flexible in the types of tasks it supports. Examples include Docker, + Qemu, Java and static binaries. Tasks specify their driver, configuration for the driver, + constraints, and resources required. -* **Audit Backend** - An audit backend is responsible for managing audit logs. Every request to Vault - and response from Vault goes through the configured audit backends. This provides a simple - way to integrate Vault with multiple audit logging destinations of different types. +* **Client** - A Client of Nomad is a machine that tasks can be run on. All clients run the + Nomad agent. The agent is responsible for registering with the servers, watching for any + work to be assigned and executing tasks. The Nomad agent is a long lived process which + interfaces with the servers. -* **Credential Backend** - A credential backend is used to authenticate users or applications which - are connecting to Vault. Once authenticated, the backend returns the list of applicable policies - which should be applied. Vault takes an authenticated user and returns a client token that can - be used for future requests. As an example, the `user-password` backend uses a username and password - to authenticate the user. Alternatively, the `github` backend allows users to authenticate - via GitHub. +* **Server** - Nomad servers are the brains of the cluster. There is a cluster of servers + per region and they manage all jobs and clients, run evalutations and create task allocations. + The servers replicate data between each other and perform leader election to ensure high + availability. Servers federate across regions to make Nomad globally aware. -* **Client Token** - A client token is a conceptually similar to a session cookie on a web site. - Once a user authenticates, Vault returns a client token which is used for future requests. - The token is used by Vault to verify the identity of the client and to enforce the applicable - ACL policies. +* **Regions and Datacenters** - Nomad models infrastructure as regions and datacenters. + Regions may contain multiple datacenters. Servers are assigned to regions and manage + all state for the region and make scheduling decisions within that region. Requests that + are made between regions are forwarded to the appropriate servers. As an example, you may + have a "US" region with the "us-east-1" and "us-west-1" datacenters, connected to the + "EU" region with the "eu-fr-1" and "eu-uk-1" datacenters. -* **Secret** - A secret is the term for anything returned by Vault which contains confidential - or cryptographic material. Not everything returned by Vault is a secret, for example - system configuration, status information, or backend policies are not considered Secrets. - Secrets always have an associated lease. This means clients cannot assume that the secret - contents can be used indefinitely. Vault will revoke a secret at the end of the lease, and - an operator may intervene to revoke the secret before the lease is over. This contract - between Vault and its clients is critical, as it allows for changes in keys and policies - without manual intervention. +* **Evaluation** - Evaluations are the mechanism by which Nomad makes scheduling decisions. + When either the _desired state_ (jobs) or _actual state_ (clients) changes, Nomad creates + a new evaluation to determine if any actions must be taken. An evaluation may result + in changes to allocations if necessary. -* **Server** - Vault depends on a long-running instance which operates as a server. - The Vault server provides an API which clients interact with and manages the - interaction between all the backends, ACL enforcement, and secret lease revocation. - Having a server based architecture decouples clients from the security keys and policies, - enables centralized audit logging and simplifies administration for operators. +* **Allocation** - An Allocation is a mapping between a task group in a job, and a client + node. A single job may have hundreds or thousands of task groups, meaning an equivalent + number of allocations must exist to map the work to client machines. Allocations are created + by the Nomad servers as part of scheduling decisions made during an evaluation. + +* **Bin Packing** - Bin Packing is the process of filling bins with items in a way that + maximizes the utilization of bins. This extends to Nomad, where the clients are "bins" + and the items are task groups. Nomad optimizes resources by efficiently bin packing + tasks onto client machines. # High-Level Overview -A very high level overview of Vault looks like this: +Looking at only a single region, at a high level Nomad looks like: -![Architecture Overview](/assets/images/layers.png) +![Regional Architecture](/assets/images/region-arch.png) -Let's begin to break down this picture. There is a clear separation of components -that are inside or outside of the security barrier. Only the storage backend and -the HTTP API are outside, all other components are inside the barrier. +Within each region, we have both clients and servers. Servers are responsible for +accepting jobs from users, managing clients, and computing task placements. Each +region may have clients from multiple datacenters, allowing a small number of servers +to handle very large clusters. -The storage backend is untrusted and is used to durably store encrypted data. When -the Vault server is started, it must be provided with a storage backend so that data -is available across restarts. The HTTP API similarly must be started by the Vault server -on start so that clients can interact with it. +In some cases, for either availability or scalability, you may need to run multiple +regions. Nomad supports federating multiple regions together into a single cluster. +At a high level, this looks like: -Once started, the Vault is in a _sealed_ state. Before any operation can be performed -on the Vault it must be unsealed. This is done by providing the unseal keys. When -the Vault is initialized it generates an encryption key which is used to protect all the -data. That key is protected by a master key. By default, Vault uses a technique known -as [Shamir's secret sharing algorithm](http://en.wikipedia.org/wiki/Shamir's_Secret_Sharing) -to split the master key into 5 shares, any 3 of which are required to reconstruct the master -key. +![Global Architecture](/assets/images/global-arch.png) -![Keys](/assets/images/keys.png) +Regions are fully independent from each other, and do not share jobs, clients or +state. They are loosely-coupled using a gossip protocol, which allows users to +submit jobs to any region or query the state of any region transparently. Requests +are forwarded to the appropriate server to be processed and the results returned. -The number of shares and the minimum threshold required can both be specified. Shamir's -technique can be disabled, and the master key used directly for unsealing. Once Vault -retrieves the encryption key, it is able to decrypt the data in the storage backend, -and enters the _unsealed_ state. Once unsealed, Vault loads all of the configured -audit, credential and secret backends. +The servers in each datacenter are all part of a single consensus group. This means +that they work together to elect a single leader which has extra duties. The leader +is responsible for processing all queries and transactions. Nomad is an optimistically +concurrent, meaning all servers participate in making scheduling decisions in parallel. +The leader provides the additional coordination necessary to do this safely and +to ensure clients are not oversubscribed. -The configuration of those backends must be stored in Vault since they are security -sensitive. Only users with the correct permissions should be able to modify them, -meaning they cannot be specified outside of the barrier. By storing them in Vault, -any changes to them are protected by the ACL system and tracked by audit logs. +Each region is expected to have either three or five servers. This strikes a balance +between availability in the case of failure and performance, as consensus gets +progressively slower as more servers are added. However, there is no limit to the number +of clients per region. -After the Vault is unsealed, requests can be processed from the HTTP API to the Core. -The core is used to manage the flow of requests through the system, enforce ACLs, -and ensure audit logging is done. +Clients are configured to communicate with their regional servers and communicate +using remote procedure calls (RPC) to register themselves, heartbeat for liveness, +wait for new allocations, and update the status of allocations. A client registers +with the servers to provide the resources available, attributes, and installed drivers. +Servers use this information for scheduling decisions and create allocations to assign +work to clients. -When a client first connects to Vault, it needs to authenticate. Vault provides -configurable credential backends providing flexibility in the authentication mechanism -used. Human friendly mechanisms such as username/password or GitHub might be -used for operators, while applications may use public/private keys or tokens to authenticate. -An authentication request flows through core and into a credential backend, which determines -if the request is valid and returns a list of associated policies. - -Policies are just a named ACL rule. For example, the "root" policy is builtin and -permits access to all resources. You can create any number of named policies with -fine-grained control over paths. Vault operates exclusively in a blacklist mode, meaning -unless access is explicitly granted via a policy the action is not allowed. -Since a user may have multiple policies associated, an action is allowed if any policy -permits it. Policies are stored and managed by an internal policy store. This internal store -is manipulated through the system backend, which is always mounted at `sys/`. - -Once authentication takes place and a credential backend provides a set of applicable -policies, a new client token is generated and managed by the token store. This client token -is sent back to the client, and is used to make future requests. This is similar to -a cookie sent by a website after a user logs in. The client token may have a lease associated -with it depending on the credential backend configuration. This means the client token -may need to be periodically renewed to avoid invalidation. - -Once authenticated, requests are made providing the client token. The token is used -to verify the client is authorized and to load the relevant policies. The policies -are used to authorize the client request. The request is then routed to the secret backend, -which is processed depending on the type of backend. If the backend returns a secret, -the core registers it with the expiration manager and attaches a lease ID. -The lease ID is used by clients to renew or revoke their secret. If a client allows the -lease to expire, the expiration manager automatically revokes the secret. - -The core handles logging of requests and responses to the audit broker, which fans the -request out to all the configured audit backends. Outside of the request flow, the core -performs certain background activity. Lease management is critical, as it allows -expired client tokens or secrets to be revoked automatically. Additionally, Vault handles -certain partial failure cases by using write ahead logging with a rollback manager. -This is managed transparently within the core and is not user visible. +Users make use of the Nomad CLI or API to submit jobs to the servers. A job represents +a desired state, providing the set of tasks that should be run. The servers are +responsible for scheduling the tasks, which is done by finding an optimial placement for +each task such that resource utilization is maximized while satisfying all constraints +specified by the job. Resource utilization is maximized by bin packing, in which +the scheduling tries to make use of all the resources of a machine without +exhausing any dimension. Job constraints can be used to ensure an application is +running in an appropriate environment. Constraints can be technical requirements based +on hardware features such as architecture, availability of GPUs, or software features +like operating system and kernel version, or they can be business constraints like +ensuring PCI compliant workloads run on appropriate servers. # Getting in Depth -This has been a brief high-level overview of the architecture of Vault. There +This has been a brief high-level overview of the architecture of Nomad. There are more details available for each of the sub-systems. For other details, either consult the code, ask in IRC or reach out to the mailing list. diff --git a/website/source/layouts/_header.erb b/website/source/layouts/_header.erb index 2d4cb352f..bd2ca35c8 100644 --- a/website/source/layouts/_header.erb +++ b/website/source/layouts/_header.erb @@ -22,7 +22,7 @@