SlideShare a Scribd company logo
HASHICORP
Deploying and Discovering at Scale
with Consul & Nomad
HASHICORP
Jon Benson
@jm_benson
HASHICORP
Agenda
• Nomad Overview
• Nomad Architecture
HASHICORP
Agenda
• Consul Overview
• Consul Architecture
• Prepared Queries
HASHICORP
Agenda
• Demo
HASHICORP
Advantages of a Scheduler
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
HASHICORP
Advantages of a Scheduler
Bin Packing
Over-Subscription
Job Queueing
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
HASHICORP
Advantages of a Scheduler
Abstraction
API Contracts
Standardization
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
HASHICORP
Advantages of a Scheduler
Priorities
Resource Isolation
Pre-emption
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
HASHICORP
Nomad
HASHICORP
Cluster Scheduler
Easily Deploy Applications
Job Specification
HASHICORP
example.nomad
# Define our simple redis job
job "redis" {
# Run only in us-east-1
datacenters = ["us-east-1"]
# Define the single redis task using Docker
task "redis" {
driver = "docker"
config {
image = "redis:latest"
}
resources {
cpu = 500 # Mhz
memory = 256 # MB
network {
mbits = 10
dynamic_ports = ["redis"]
}
}
}
}
HASHICORP
Job Specification
Declares what to run
HASHICORP
Job Specification
Nomad determines where and
manages how to run
HASHICORP
Job Specification
Abstract work from resources
Nomad
HASHICORP
Multi-Datacenter
Multi-Region
Flexible Workloads
Job Priorities
Bin Packing
Large Scale
Operationally Simple
HASHICORP
Thousands of regions
Tens of thousands of clients per region
Thousands of jobs per region
HASHICORP
Built on Experience
gossip consensus
HASHICORP
• Cluster Management
• Gossip Based (P2P)
• Membership
• Failure Detection
• Event System
HASHICORP
• Gossip Protocol
• Large Scale
• Production Hardened
• Operationally Simple
HASHICORP
• Service configuration and discovery
• Monitoring at scale
• High-availability
HASHICORP
• Service configuration and discovery
• Monitoring at scale
• High-availability
HASHICORP
• Service configuration and discovery
• Monitoring at scale
• High-availability
HASHICORP
• Service configuration and discovery
• Monitoring at scale
• High-availability
HASHICORP
HASHICORP
• Multi-Datacenter
• Raft Consensus
• Large Scale
• Production Hardened
• Coordination (Locking)
• Central Servers + Distributed Clients
• Network Tomography
• Prepared Queries
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
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
HASHICORP
gossip consensus
Mature Libraries
Design Patterns
No Scheduling Logic
HASHICORP
Built on Research
gossip consensus
Nomad
HASHICORP
Inspired by Google Omega
Optimistic Concurrency
Internal State and Coordination
Service and Batch workloads
Pluggable Architecture
HASHICORP
Single Region Architecture
SERVER SERVER SERVER
CLIENT CLIENT CLIENTDC1 DC2 DC3
FOLLOWER LEADER FOLLOWER
REPLICATION
FORWARDING
REPLICATION
FORWARDING
RPC RPC RPC
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
Nomad
HASHICORP
Region is Isolation Domain
1-N Datacenters Per Region
Flexibility to do 1:1 (Consul)
Scheduling Boundary
HASHICORP
Data Model
HASHICORP
Evaluations ~= State Change Event
HASHICORP
Create / Update / Delete Job
Node Up / Node Down
Allocation Failed
HASHICORP
External Event
Evalua?on Crea?on
Evalua?on Queuing
Evalua?on Processing
Op?mis?c Coordina?on
State Updates
HASHICORP
Server Architecture
Omega Class Scheduler
Pluggable Logic
Internal Coordination and State
Multi-Region / Multi-Datacenter
HASHICORP
Client Architecture
Broad OS Support
Host Fingerprinting
Pluggable Drivers
HASHICORP
Fingerprinting
Operating System
Hardware
Applications
Environment
Type Examples
Kernel, OS, Versions
CPU, Memory, Disk
Java, Docker, Consul
AWS, GCE
HASHICORP
Fingerprinting
Constrain Placement and Bin Pack
HASHICORP
Fingerprinting
“Task Requires Linux, Docker, and
PCI-Compliant Hardware”
expressed as Constraints
HASHICORP
Fingerprinting
“Task needs 512MB RAM and 1 Core”
expressed as Resource Ask
HASHICORP
Drivers
Execute Tasks
Provide Resource Isolation
HASHICORP
Containerized
Virtualized
Standalone
Docker
Qemu / KVM
Java Jar
Static Binaries
Rocket
HASHICORP
Containerized
Virtualized
Standalone
Docker
Rocket
Windows Server Containers
Qemu / KVM
Hyper-V
Xen
Java Jar
Static Binaries
C#
Nomad
HASHICORP
Workload Flexibility:
Schedulers
Fingerprints
Drivers
Job Specification
Nomad
HASHICORP
Operational Simplicity:
Single Binary
No Dependencies
Highly Available
Nomad
HASHICORP
Cluster Scheduler
Easily Deploy Applications
Job Specification
Nomad
HASHICORP
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
Nomad
HASHICORP
• Million Container Challenge
• hashicorp.com/c1m.html
• github.com/hashicorp/c1m
HASHICORP
Thanks!
We’ll do a quick demo then answer questions…
Jon Benson
@jm_benson

More Related Content

PDF
HashiCorp at Just Eat
PDF
San Francisco HashiCorp User Group at GitHub
PDF
London HUG 8/3 - Nomad
PDF
Hashicorp Nomad
PDF
Migratory Workloads Across Clouds with Nomad
PDF
Why learn jenkins via nomad_ci (nomad/consul/docker/jenkins) 
PDF
Nomad Multi-Cloud
PDF
Altitude SF 2017: Nomad and next-gen application architectures
HashiCorp at Just Eat
San Francisco HashiCorp User Group at GitHub
London HUG 8/3 - Nomad
Hashicorp Nomad
Migratory Workloads Across Clouds with Nomad
Why learn jenkins via nomad_ci (nomad/consul/docker/jenkins) 
Nomad Multi-Cloud
Altitude SF 2017: Nomad and next-gen application architectures

What's hot (20)

ODP
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
PDF
Altitude SF 2017: Stories from TED
PDF
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
PDF
High availability
PDF
RedisConf17 - Lyft - Geospatial at Scale - Daniel Hochman
PPTX
HBaseCon 2012 | Solbase - Kyungseog Oh, Photobucket
PPTX
Effective terraform
PPTX
vBrownBag @ VMworld - Apache CloudStack (ACS) & vSphere
PPTX
Persistent Storage for Containerized Applications
PPTX
MySQL on Ceph
PDF
Kafka tiered-storage-meetup-2022-final-presented
PPTX
MySQL Head to Head Performance
PPTX
Which Hypervisor is Best?
PDF
tdtechtalk20160330johan
PPTX
Scylla Summit 2018: Keeping Your Latency SLAs No Matter What!
PPTX
RedisConf17 - Operationalizing Redis at Scale
PPTX
RedisConf17 - Redis in High Traffic Adtech Stack
PPTX
Scylla Summit 2018: Consensus in Eventually Consistent Databases
PDF
Redis for horizontally scaled data processing at jFrog bintray
PPTX
Dns on Cloud [route53]
Devoxx 2016 talk: Going Global with Nomad and Google Cloud Platform
Altitude SF 2017: Stories from TED
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
High availability
RedisConf17 - Lyft - Geospatial at Scale - Daniel Hochman
HBaseCon 2012 | Solbase - Kyungseog Oh, Photobucket
Effective terraform
vBrownBag @ VMworld - Apache CloudStack (ACS) & vSphere
Persistent Storage for Containerized Applications
MySQL on Ceph
Kafka tiered-storage-meetup-2022-final-presented
MySQL Head to Head Performance
Which Hypervisor is Best?
tdtechtalk20160330johan
Scylla Summit 2018: Keeping Your Latency SLAs No Matter What!
RedisConf17 - Operationalizing Redis at Scale
RedisConf17 - Redis in High Traffic Adtech Stack
Scylla Summit 2018: Consensus in Eventually Consistent Databases
Redis for horizontally scaled data processing at jFrog bintray
Dns on Cloud [route53]
Ad

Viewers also liked (19)

PPTX
PDF
London HUG 19/5 - Kubernetes and vault
PDF
London Hug 19/5 - Terraform in Production
PPTX
What does it take to make google work at scale
PDF
London HUG 14/4 - Infratructure mgmt
PDF
Hashicorpのツール群とオーケストレーション
PDF
HashiCorpのNomadを使ったコンテナのスケジューリング手法
PDF
マイクロサービス時代の生存戦略 with HashiCorp
PDF
Serf / Consul 入門 ~仕事を楽しくしよう~
PPTX
Hug #9 who's keeping your secrets
PDF
コンテナ技術と普及がシステム・インテグレータに与える影響
PPTX
Automation with Packer and TerraForm
PDF
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
PDF
Dockerの基本と応用~快適コンテナライフを実現するArukas~
PDF
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
PDF
どうしてプレゼン研究会を始めたのか
PDF
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
PDF
Rancher command line interface
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
London HUG 19/5 - Kubernetes and vault
London Hug 19/5 - Terraform in Production
What does it take to make google work at scale
London HUG 14/4 - Infratructure mgmt
Hashicorpのツール群とオーケストレーション
HashiCorpのNomadを使ったコンテナのスケジューリング手法
マイクロサービス時代の生存戦略 with HashiCorp
Serf / Consul 入門 ~仕事を楽しくしよう~
Hug #9 who's keeping your secrets
コンテナ技術と普及がシステム・インテグレータに与える影響
Automation with Packer and TerraForm
【18-E-3】クラウド・ネイティブ時代の2016年だから始める Docker 基礎講座
Dockerの基本と応用~快適コンテナライフを実現するArukas~
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
どうしてプレゼン研究会を始めたのか
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
Rancher command line interface
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Ad

Similar to London HUG 14/4 - Deploying and Discovering at Scale with Consul and Nomad (20)

PDF
SF HashiCorp User Group at GitHub
PPTX
MCSA 70-412 Chapter 05
PDF
Escalando Foursquare basado en Checkins y Recomendaciones
PPTX
Apache Hadoop YARN State of the Union
PPTX
Big data talk barcelona - jsr - jc
PPTX
Introduction to Microservices with Docker and Kubernetes
PPTX
Persistent Storage for Containerized Applications
PPTX
Cross-platform interaction
PPTX
GIB 2017 - Azure function and logic apps better together
PDF
Real-Time Vote Platform Benchmark
PDF
DeveloperWeek 2014
PPTX
Routing in the cloud
PDF
Low latency high throughput streaming using Apache Apex and Apache Kudu
PPTX
Azure DocumentDB Overview
PDF
Open Source SQL Databases
PDF
Restful风格ž„web服务架构
PPTX
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
PPTX
Intro to big data analytics using microsoft machine learning server with spark
PPTX
RedisConf18 - Designing a Redis Client for Humans
SF HashiCorp User Group at GitHub
MCSA 70-412 Chapter 05
Escalando Foursquare basado en Checkins y Recomendaciones
Apache Hadoop YARN State of the Union
Big data talk barcelona - jsr - jc
Introduction to Microservices with Docker and Kubernetes
Persistent Storage for Containerized Applications
Cross-platform interaction
GIB 2017 - Azure function and logic apps better together
Real-Time Vote Platform Benchmark
DeveloperWeek 2014
Routing in the cloud
Low latency high throughput streaming using Apache Apex and Apache Kudu
Azure DocumentDB Overview
Open Source SQL Databases
Restful风格ž„web服务架构
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
Intro to big data analytics using microsoft machine learning server with spark
RedisConf18 - Designing a Redis Client for Humans

More from London HashiCorp User Group (7)

PDF
London HUG 15/8/17 - Elseviers World using Nomad
PDF
London HUG 15/8/17 - Lifeguard
PDF
London Hug 20/6 - Clustering RabbitMQ using Consul
PPTX
London Hug 20/6 - Vault production
PDF
PDF
London HUG 8/3 - Developing a (VCD) Terraform Provider
PDF
London HUG 8/3 - JustEat - Andrew Brown / Alberto Blanco
London HUG 15/8/17 - Elseviers World using Nomad
London HUG 15/8/17 - Lifeguard
London Hug 20/6 - Clustering RabbitMQ using Consul
London Hug 20/6 - Vault production
London HUG 8/3 - Developing a (VCD) Terraform Provider
London HUG 8/3 - JustEat - Andrew Brown / Alberto Blanco

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
Teaching material agriculture food technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
MYSQL Presentation for SQL database connectivity
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx

London HUG 14/4 - Deploying and Discovering at Scale with Consul and Nomad