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
• Questions!
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
Higher Resource Utilization
Decouple Work from Resources
Better Quality of Service
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
• Nomad 0.4
• Volume support across drivers
• Advanced networking
HASHICORP
Thanks!
We’ll do a quick demo then answer questions…
Jon Benson
@jm_benson

More Related Content

PPTX
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
PDF
Performance Improvements in Neo4j 3.2
PDF
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
PPTX
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
PPTX
Redis Day Bangalore 2020 - Session state caching with redis
PDF
HBaseCon2017 Apache HBase at Didi
PDF
#GeodeSummit - Redis to Geode Adaptor
PPTX
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Performance Improvements in Neo4j 3.2
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
Redis Day Bangalore 2020 - Session state caching with redis
HBaseCon2017 Apache HBase at Didi
#GeodeSummit - Redis to Geode Adaptor

What's hot (20)

PDF
#GeodeSummit - Where Does Geode Fit in Modern System Architectures
PDF
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...
PPTX
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
PPTX
Apache Hadoop YARN State of the Union
PPTX
Kylin OLAP Engine Tour
PDF
6. Apache Kylin Roadmap and Community - Apache Kylin Meetup @Shanghai
PPTX
PayPal Risk Platform High Performance Practice
PPTX
[GeekTalk#2] Tạ Hoàng Hải - Rest API with PHP
PDF
The Evolution of Apache Kylin by Luke Han
PPTX
FinOps introduction
PDF
Apache Kylin - Balance Between Space and Time
PPTX
Hadoop Migration from 0.20.2 to 2.0
PPTX
Apache Kylin Introduction
PPTX
Apache drill
PPTX
Apache Kylin Streaming
PPTX
Kylin Engineering Principles
PDF
HBaseCon2017 Democratizing HBase
PDF
Big Data MDX with Mondrian and Apache Kylin
PDF
Apache Kylin Open Source Journey for QCon2015 Beijing
PPTX
Drilling into Data with Apache Drill
#GeodeSummit - Where Does Geode Fit in Modern System Architectures
Never Stop Exploring - Pushing the Limits of Solr: Presented by Anirudha Jadh...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
Apache Hadoop YARN State of the Union
Kylin OLAP Engine Tour
6. Apache Kylin Roadmap and Community - Apache Kylin Meetup @Shanghai
PayPal Risk Platform High Performance Practice
[GeekTalk#2] Tạ Hoàng Hải - Rest API with PHP
The Evolution of Apache Kylin by Luke Han
FinOps introduction
Apache Kylin - Balance Between Space and Time
Hadoop Migration from 0.20.2 to 2.0
Apache Kylin Introduction
Apache drill
Apache Kylin Streaming
Kylin Engineering Principles
HBaseCon2017 Democratizing HBase
Big Data MDX with Mondrian and Apache Kylin
Apache Kylin Open Source Journey for QCon2015 Beijing
Drilling into Data with Apache Drill
Ad

Viewers also liked (6)

PPT
Complementos del verbo
PPTX
Revisión análisis sintáctico
PDF
Los complementos del verbo, cd y ci
PPT
Modificadores del predicado
PPTX
El predicado y sus modificadores
PPT
El sujeto y su estructura
Complementos del verbo
Revisión análisis sintáctico
Los complementos del verbo, cd y ci
Modificadores del predicado
El predicado y sus modificadores
El sujeto y su estructura
Ad

Similar to San Francisco HashiCorp User Group at GitHub (20)

PDF
London HUG 14/4 - Deploying and Discovering at Scale with Consul and Nomad
PDF
London HUG 8/3 - Nomad
PDF
Atmosphere 2016 - Diptanu Choudhury - Taming the public clouds with nomad
PDF
Hashicorp Nomad
PDF
Consul and Complex Networks
PPTX
Easy and Flexible Application Deployment with HashiCorp Nomad
PDF
PostgreSQL High-Availability and Geographic Locality using consul
PDF
Multi-Cloud with Nomad and Consul Connect
PDF
Nomad Multi-Cloud
PDF
Living the Nomadic life - Nic Jackson
PPTX
#ITsubbotnik Spring 2017: Roman Dimitrenko "Building Paas with the HashiStack"
PPTX
Modern Scheduling for Modern Applications with Nomad
PDF
Leaving the Ivory Tower: Research in the Real World
PPTX
Hashicorp: Delivering the Tao of DevOps
PDF
Large-scale Infrastructure Automation at Verizon
PPTX
Nomad by HashiCorp Presentation (DevOps)
PPTX
Nomad by HashiCorp Presentation (DevOps)
PDF
Leaving the Ivory Tower: Research in the Real World
PPTX
Cloud Adoption: From Start to PaaS
PPTX
Kloia AWS IBM Hashicorp Day Presentation
London HUG 14/4 - Deploying and Discovering at Scale with Consul and Nomad
London HUG 8/3 - Nomad
Atmosphere 2016 - Diptanu Choudhury - Taming the public clouds with nomad
Hashicorp Nomad
Consul and Complex Networks
Easy and Flexible Application Deployment with HashiCorp Nomad
PostgreSQL High-Availability and Geographic Locality using consul
Multi-Cloud with Nomad and Consul Connect
Nomad Multi-Cloud
Living the Nomadic life - Nic Jackson
#ITsubbotnik Spring 2017: Roman Dimitrenko "Building Paas with the HashiStack"
Modern Scheduling for Modern Applications with Nomad
Leaving the Ivory Tower: Research in the Real World
Hashicorp: Delivering the Tao of DevOps
Large-scale Infrastructure Automation at Verizon
Nomad by HashiCorp Presentation (DevOps)
Nomad by HashiCorp Presentation (DevOps)
Leaving the Ivory Tower: Research in the Real World
Cloud Adoption: From Start to PaaS
Kloia AWS IBM Hashicorp Day Presentation

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPT
Teaching material agriculture food technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
sap open course for s4hana steps from ECC to s4
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Network Security Unit 5.pdf for BCA BBA.
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Understanding_Digital_Forensics_Presentation.pptx
MIND Revenue Release Quarter 2 2025 Press Release
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf

San Francisco HashiCorp User Group at GitHub