Distributed Cluster Schedulers are becoming increasingly popular. They present a good abstraction for running workloads at a “warehouse-scale” on the public and private clouds by decoupling workload from compute, network and storage resources.
In this talk, we will talk about the operational challenges of running a Cluster Scheduler to serve highly available services across multiple geographies and in a heterogeneous runtime environment. We will go into details of the needs from a cluster scheduler with respect to managing multiple runtime/virtualization platforms, provide observability, running maintenance on hardware and software, etc.
6. HASHICORP
Evolution of compute infrastructure
Global Public Cloud
AWS - US-West-2 AWS - US-East-1
GCP - US-Central-1
Private Clouds Private Clouds
7. HASHICORP
Challenges of the modern cloud
10s of 1000s of compute nodes to manage
Compute clusters are spread across the globe
Static and offline partitioning of clusters are no longer efficient
8. HASHICORP
Challenges of the modern cloud
Heterogenous API for accessing compute infrastructure
Heterogenous primitives for managing network, secrets, etc
23. HASHICORP
Nomad as Cluster Scheduler
Bin Packing
Job Queueing
Over-Subscription
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
24. HASHICORP
Nomad as the Cluster Scheduler
Abstraction
API Contracts
Standardization
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
25. HASHICORP
Nomad as the Cluster Scheduler
Priorities
Resource Isolation
Pre-emption
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
30. HASHICORP
Supports multiple Clouds, DCs and Regions
Resources across DCs are presented as single pool
Developers can target multiple datacenter in the same job file
Unified interface for developers across clouds
32. HASHICORP
Single Region Architecture
SERVER SERVER SERVER
CLIENT CLIENT CLIENT
DC1 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
45. HASHICORP
Maintainance Primitives
First class support for doing maintenance on nodes
Drain allocations running on a node
nomad node-drain -enable 149cc920
Are you sure you want to enable drain mode for node "149cc920"? [y/N]