nomad - goto london · highly available!"#!$%&'(built for scale. built on experience...
TRANSCRIPT
![Page 1: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/1.jpg)
NomadHASHICORP
![Page 2: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/2.jpg)
HASHICORP
Armon Dadgar @armon
![Page 3: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/3.jpg)
![Page 4: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/4.jpg)
HASHICORP
![Page 5: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/5.jpg)
NomadHASHICORP
Cluster Manager
Scheduler
![Page 6: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/6.jpg)
NomadHASHICORP
Cluster Manager
Scheduler
![Page 7: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/7.jpg)
HASHICORP
Schedulers map a set of work to a set of resources
![Page 8: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/8.jpg)
HASHICORP
CPU Scheduler
Web Server -Thread 1
CPU - Core 1
CPU - Core 2
Web Server -Thread 2
Redis -Thread 1
Kernel -Thread 1
Work (Input) Resources
CPU Scheduler
![Page 9: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/9.jpg)
HASHICORP
CPU Scheduler
Web Server -Thread 1
CPU - Core 1
CPU - Core 2
Web Server -Thread 2
Redis -Thread 1
Kernel -Thread 1
Work (Input) Resources
CPU Scheduler
![Page 10: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/10.jpg)
HASHICORP
Schedulers In the Wild
Type Work Resources
CPU Scheduler Threads Physical Cores
AWS EC2 / OpenStack Nova Virtual Machines Hypervisors
Hadoop YARN MapReduce Jobs Client Nodes
Cluster Scheduler Applications Servers
![Page 11: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/11.jpg)
HASHICORP
Advantages
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
![Page 12: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/12.jpg)
HASHICORP
Advantages
Bin Packing
Over-Subscription
Job Queueing
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
![Page 13: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/13.jpg)
HASHICORP
Advantages
Abstraction
API Contracts
Standardization
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
![Page 14: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/14.jpg)
HASHICORP
Advantages
Priorities
Resource Isolation
Pre-emption
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
![Page 15: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/15.jpg)
HASHICORP
![Page 16: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/16.jpg)
NomadHASHICORP
![Page 17: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/17.jpg)
NomadHASHICORP
Cluster Scheduler
Easily Deploy Applications
Operationally Simple
Built for Scale
![Page 18: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/18.jpg)
job "redis" { datacenters = ["us-east-1"]
task "redis" { driver = "docker" config { image = "redis:latest" }
resources { cpu = 500 # Mhz memory = 256 # MB
network { mbits = 10 dynamic_ports = ["redis"] } } }}
example.nomad
![Page 19: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/19.jpg)
HASHICORP
Job Specification
Declares what to run
![Page 20: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/20.jpg)
HASHICORP
Job Specification
Nomad determines where and manages how to run
![Page 21: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/21.jpg)
HASHICORP
Job Specification
Nomad abstracts work from resources
![Page 22: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/22.jpg)
HASHICORP
Containerized
Virtualized
Standalone
Docker
Rkt
Windows Server Containers
Qemu / KVM
Hyper-V
Xen
Java Jar
Static Binaries
C#
![Page 23: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/23.jpg)
NomadHASHICORP
Declarative Job Specification
Infrastructure-As-Code
Removes Imperative Logic
External Dependencies?
![Page 24: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/24.jpg)
NomadHASHICORP
Service Discovery?
Health Monitoring?
Application Secrets?
Stateful Applications?
![Page 25: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/25.jpg)
job “my-app" { … task “my-app" { service { port = “http” check { type = “http” path = “/health” interval = “5s” } } }}
example.nomad
![Page 26: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/26.jpg)
HASHICORP
Nomad Server Consul Server
Client
Nomad Consul
App 1
App N
Schedule App Register Service Monitor Health
![Page 27: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/27.jpg)
NomadHASHICORP
Secret Distribution:
API Keys
DB Credentials
SSL/TLS Certificates
![Page 28: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/28.jpg)
job “my-app" { … task “my-app" { env { DB_USERPASS = “foo:bar” } }}
example.nomad
![Page 29: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/29.jpg)
Vault
Secure secret storage
Dynamic secrets
Leasing, renewal, and revocation
Auditing
Rich ACLs
Multiple client authentication methods
![Page 30: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/30.jpg)
HASHICORP
Login
Vault Token
Vault Token + Operation
Op Response
![Page 31: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/31.jpg)
job “my-app" { … task “my-app" { env { VAULT_TOKEN = “b6a10b96-9060-11e6-9c6f-67a52bc6b8d3” } }}
example.nomad
![Page 32: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/32.jpg)
job “my-app" { … task “my-app" { vault { policies = [“my-app-role”] } }}
example.nomad
![Page 33: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/33.jpg)
HASHICORP
Nomad Server
Client
Nomad
App 1
App N
Submit Job + Vault Token Verify Vault Token
Schedule App
Generate + Renew Vault Token
![Page 34: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/34.jpg)
NomadHASHICORP
Native Vault Integration
No Secrets in Jobs
No Secrets on Client Disk
Minimize Trust
![Page 35: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/35.jpg)
HASHICORP
Stateful Applications
Stateless Stateful
![Page 36: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/36.jpg)
HASHICORP
Stateful Applications
Stateless StatefulAPI
Web Cache
![Page 37: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/37.jpg)
HASHICORP
Stateful Applications
Stateless StatefulAPI
Web Cache
HDFS Cassandra MongoDB
![Page 38: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/38.jpg)
HASHICORP
Stateful Applications
Stateless StatefulAPI
Web Cache
HDFS Cassandra MongoDB
*SQL
![Page 39: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/39.jpg)
HASHICORP
Stateful Applications
Stateless StatefulAPI
Web Cache
HDFS Cassandra MongoDB
*SQL
EASY MEDIUM HARD
![Page 40: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/40.jpg)
job “my-app" { … task “my-app" { ephemeral_disk { sticky = true } }}
example.nomad
![Page 41: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/41.jpg)
HASHICORP
Moves data between tasks on the same machine
![Page 42: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/42.jpg)
HASHICORP
Copies data between tasks on different machines
![Page 43: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/43.jpg)
NomadHASHICORP
Easily Deploy Apps:
Declarative Jobs
Flexible Workloads
Consul Integration
Vault Integration
Sticky Volumes
![Page 44: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/44.jpg)
HASHICORP
Operationally Simple
![Page 45: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/45.jpg)
HASHICORP
Client Server
![Page 46: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/46.jpg)
Built on Experience
GOSSIP CONSENSUS
![Page 47: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/47.jpg)
Serf
Cluster Management
Gossip Based (P2P)
Membership
Failure Detection
Event System
![Page 48: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/48.jpg)
Serf
Large Scale
Production Hardened
Simple Clustering and Federation
![Page 49: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/49.jpg)
Consul
Service Discovery
Configuration
Coordination (Locking)
Central Servers + Distributed Clients
![Page 50: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/50.jpg)
Consul
Multi-Datacenter
Raft Consensus
Large Scale
Production Hardened
![Page 51: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/51.jpg)
NomadHASHICORP
Operational Simplicity:
Single Binary
No Dependencies
Highly Available
![Page 52: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/52.jpg)
HASHICORP
Built for Scale
![Page 53: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/53.jpg)
Built on Experience
GOSSIP CONSENSUS
Mature Libraries Proven Design Patterns
Lacking Scheduling Logic
![Page 54: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/54.jpg)
Built on Research
GOSSIP CONSENSUS
![Page 55: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/55.jpg)
![Page 56: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/56.jpg)
HASHICORP
Single Region Architecture
SERVER SERVER SERVER
CLIENT CLIENT CLIENTDC1 DC2 DC3
FOLLOWER LEADER FOLLOWER
REPLICATIONFORWARDING
REPLICATIONFORWARDING
RPC RPC RPC
![Page 57: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/57.jpg)
HASHICORP
Multi Region Architecture
SERVER SERVER SERVERFOLLOWER LEADER FOLLOWER
REPLICATIONFORWARDING
REPLICATION
REGION B GOSSIP
REPLICATION REPLICATIONFORWARDING
REGION FORWARDING
REGION A
SERVERFOLLOWER
SERVER SERVERLEADER FOLLOWER
![Page 58: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/58.jpg)
NomadHASHICORP
Region is Isolation Domain
1-N Datacenters Per Region
Flexibility to do 1:1 (Consul)
Scheduling Boundary
![Page 59: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/59.jpg)
HASHICORP
Hundreds of regions
Tens of thousands of clients per region
Thousands of jobs per region
![Page 60: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/60.jpg)
Nomad
Inspired by Google Omega
Optimistic Concurrency
State Coordination
Service & Batch workloads
Pluggable Architecture
![Page 61: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/61.jpg)
Data Model
ALLOCATION
JOB
EVALUATION
NODE
![Page 62: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/62.jpg)
Evaluation ~= State Change
![Page 63: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/63.jpg)
Evaluations
Create / Update / Delete Job
Node Up / Node Down
Allocation Failed / Finished
![Page 64: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/64.jpg)
Evaluations
SCHEDULER
func(Evaluation) => []AllocationUpdates
![Page 65: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/65.jpg)
Evaluations
SCHEDULER
func(Evaluation) => []AllocationUpdates
Service, Batch, System
![Page 66: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/66.jpg)
HASHICORP
External Event
EvaluaBon CreaBon
EvaluaBon Queuing
EvaluaBon Processing
OpBmisBc CoordinaBon
State Updates
![Page 67: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/67.jpg)
NomadHASHICORP
Omega Architecture
Optimistically Schedule
100’s of Jobs in Parallel
Controls for Correctness
![Page 68: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/68.jpg)
NomadMillion Container Challenge
1,000 Jobs
1,000 Tasks per Job
5,000 Hosts on GCE
1,000,000 Containers
![Page 69: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/69.jpg)
![Page 70: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/70.jpg)
“– Bill Gates
640 KB ought to be enough for anybody.
![Page 71: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/71.jpg)
2nd Largest Hedge Fund
18K Cores
5 Hours
2,200 Containers/second
![Page 72: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/72.jpg)
NomadHASHICORP
Cluster Scheduler
Easily Deploy Applications
Operationally Simple
Built for Scale
![Page 73: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/73.jpg)
HASHICORP
Thanks! Q/A
![Page 74: Nomad - GOTO London · Highly Available!"#!$%&'(Built for Scale. Built on Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns ... REGION B GOSSIP REPLICATION REPLICATION](https://reader033.vdocuments.mx/reader033/viewer/2022041714/5e4a3ce95724922b10315b0f/html5/thumbnails/74.jpg)
HASHICORP