Slide 1

Slide 1 text

HashiCorp Nomad

Slide 2

Slide 2 text

Anubhav Mishra Developer Advocate @anubhavm

Slide 3

Slide 3 text

DEVOPS DELIVERED

Slide 4

Slide 4 text

PROVISION, SECURE AND RUN ANY INFRASTRUCTURE Nomad Consul Vault Vagrant Packer Terraform Consul Enterprise Terraform Enterprise Vault Enterprise PRODUCT SUITE OSS TOOL SUITE RUN Applications SECURE Application Infrastructure PROVISION Infrastructure FOR INDIVIDUALS FOR TEAMS Nomad Enterprise

Slide 5

Slide 5 text

Copyright © 2017 HashiCorp ▪Nomad Overview ▪Demo! 5 Agenda

Slide 6

Slide 6 text

Nomad Cluster Manager Scheduler

Slide 7

Slide 7 text

User Nomad Servers Nomad Clients

Slide 8

Slide 8 text

User Nomad Servers Submits Job Nomad Clients

Slide 9

Slide 9 text

User Nomad Servers Submits Job Nomad Clients Deploy App

Slide 10

Slide 10 text

User Nomad Servers Submits Job Nomad Clients Deploy App Skip (Busy)

Slide 11

Slide 11 text

User Nomad Servers Submits Job Nomad Clients Deploy App Skip (Busy) Deploy App

Slide 12

Slide 12 text

Advantages Higher Resource U.liza.on Decouple Work from Resources Be:er Quality of Service

Slide 13

Slide 13 text

 Nomad @anubhavm

Slide 14

Slide 14 text

Nomad Cluster Scheduler Easily Deploy Applications Operationally Simple Built for Scale

Slide 15

Slide 15 text

job "redis" { datacenters = ["us-east-1"] task "redis" { driver = "docker" config { image = "redis:latest" } resources { cpu = 500 # Mhz memory = 256 # MB network { mbits = 10 port “redis" {} } } } } example.nomad

Slide 16

Slide 16 text

Declares what to run

Slide 17

Slide 17 text

Nomad determines where and manages how to run

Slide 18

Slide 18 text

Nomad abstracts work from resources

Slide 19

Slide 19 text

OS Workloads Drivers Windows Long Running Service Docker / Rkt / LXC Linux Short Lived Batch Qemu / KVM BSD Periodic Cron “exec” cgroups+chroot Solaris System Agents Static Binaries / Fat JARs

Slide 20

Slide 20 text

Nomad Declarative Jobs Infrastructure as Code Consul Integration Vault Integration Composable vs Platform

Slide 21

Slide 21 text

Empowers developers by de-coupling operators

Slide 22

Slide 22 text

Operationally Simple & Scalable

Slide 23

Slide 23 text

Nomad Single Binary No Dependencies Highly Available Multi-DC/Region Support

Slide 24

Slide 24 text

Built on Research & Experience GOSSIP CONSENSUS Mature Libraries Proven Design Patterns

Slide 25

Slide 25 text

Nomad Inspired by Google Omega Optimistic Concurrency Service & Batch workloads Pluggable Architecture

Slide 26

Slide 26 text

Single Region Architecture SERVER SERVER SERVER CLIENT CLIENT CLIENT DC1 DC2 DC3 FOLLOWER LEADER FOLLOWER REPLICATION FORWARDING REPLICATION FORWARDING RPC RPC RPC

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

100’s of Regions 10,000’s of Clients per Region 1000’s of Jobs per Region

Slide 29

Slide 29 text

Nomad Million Container Challenge 1,000 Jobs 1,000 Tasks per Job 5,000 Hosts on GCE 1,000,000 Containers

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

“640 KB ought to be enough for anybody.” - Bill Gates

Slide 32

Slide 32 text

2nd Largest Hedge Fund 18K Cores 5 Hours 2,200 Containers/second

Slide 33

Slide 33 text

Nomad Cluster Scheduler Easily Deploy Applications Operationally Simple Built for Scale

Slide 34

Slide 34 text

Demo!

Slide 35

Slide 35 text

 Thanks! @anubhavm