6. HASHICORP
Advantages of a Scheduler
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
7. HASHICORP
Advantages of a Scheduler
Bin Packing
Over-Subscription
Job Queueing
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
8. HASHICORP
Advantages of a Scheduler
Abstraction
API Contracts
Standardization
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
9. HASHICORP
Advantages of a Scheduler
Priorities
Resource Isolation
Pre-emption
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
26. HASHICORP
• Multi-Datacenter
• Raft Consensus
• Large Scale
• Production Hardened
• Coordination (Locking)
• Central Servers + Distributed Clients
• Network Tomography
• Prepared Queries
27. HASHICORP
Prepared Queries
• Multiple instances of a given service exist in multiple datacenters
• Clients can talk to any of them, and always prefer the instances with
lowest latency
• Policies can change, desire to not have the clients know the details
of how to locate a healthy service
28. HASHICORP
Prepared Queries
• New query namespace, similar to services
• Register queries to answer for parts of this namespace
• Clients use APIs, or “.query.consul” DNS lookups to run
queries
31. Nomad
HASHICORP
Inspired by Google Omega
Optimistic Concurrency
Internal State and Coordination
Service and Batch workloads
Pluggable Architecture
32. HASHICORP
Single Region Architecture
SERVER SERVER SERVER
CLIENT CLIENT CLIENTDC1 DC2 DC3
FOLLOWER LEADER FOLLOWER
REPLICATION
FORWARDING
REPLICATION
FORWARDING
RPC RPC RPC
33. HASHICORP
Multi Region Architecture
SERVER SERVER SERVER
FOLLOWER LEADER FOLLOWER
REPLICATION
FORWARDING
REPLICATION
REGION B GOSSIP
REPLICATION REPLICATION
FORWARDING
REGION FORWARDING
REGION A
SERVER
FOLLOWER
SERVER SERVER
LEADER FOLLOWER