SlideShare a Scribd company logo
© 2018 HashiCorp
Nomad
Modern Scheduling for
Modern Applications
Jasmine Dahilig
80%+ companies are
deploying containers with
Multiple OSes across
Multiple Clouds
Majority of surveyed organizations are
deploying containers with both Linux and
Windows, across on-premises and multiple
clouds
40% of surveyed organizations cited
“complexity” as the number one challenge in
container deployment.
Management Complexity
is a top challenge in using
and deploying containers
https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-
native-technologies-in-production-has-grown-over-200-percent/
https://goto.docker.com/rs/929-FJL-178/images/IDC-
containerplatform-wp.pdf
A Common Cloud Operating Model
App
App
Run
Provision
Connect
Secure
Compliance&Governance
The Need for a Modern
Orchestrator
© 2018 HashiCorp
The Move to
Containers and
Clouds
5
● Adopt containers and
microservices for new applications
● Re-architect & migrate existing
applications
● Segment of legacy applications
remains the same
© 2018 HashiCorp
The Fundamental
Needs for a Container
Orchestrator
6
How do we run
containers in
production?
”
© 2018 HashiCorp
Challenges of Moving
to Containers
7
● Lack of budget or time to refactor
existing applications
● Increased complexity to support
mixed systems and workflows
● Limited time to meet IT/Business
requirements - Incremental vs
Overhaul
© 2018 HashiCorp
Guiding Principle
Orchestrate Any
Application
8
● Bringing modern orchestration benefits to
all - containerized, non-containerized and
batch applications
● A simple, lightweight layer that can be
integrated with any existing infrastructure
● A single, unified workflow to accelerate
incremental application modernization
© 2018 HashiCorp
NOMAD ECOSYSTEM
Single
Orchestrator
for Clouds
Using Nomad
Automated Deployment Workflow
Application Deployment as Code
● Declarative specification using
HCL (like Terraform) or JSON
● Set the deployment rules for
applications fast and intuitively.
Define tasks, images, resources,
priorities, constraints, service
registrations, secrets and other
information required to deploy the
application.
job “my_job" {
region = "us"
datacenters = ["us-west-1", "us-east-1"]
type = "service"
group "web" {
count = 5
task "frontend" {
driver = "docker"
config {
image = "hashicorp/web-frontend"
}
resources {
cpu = 500 # MHz
memory = 128 # MB
network {
mbits = 100
port "http" {}
port "https" {
static = 443
TERMINAL
Intuitive Deployment Rules
job “my_job" {
region = "us"
datacenters = ["us-west-1", "us-east-1"]
type = "service"
group "web" {
count = 5
task "frontend" {
driver = "docker"
config {
image = "hashicorp/web-frontend"
}
resources {
cpu = 500 # MHz
memory = 128 # MB
network {
mbits = 100
port "http" {}
port "https" {
static = 443
job
# define the deployment rules for applications
_ group
# defines a series of tasks that should be co-located on
the same Nomad client
_ task
# defines a command, service, application or
"set of work" to execute, such as a docker
container, webapp or batch processing. Tasks
are executed by their driver
job “my_job" {
region = "us"
datacenters = ["us-west-1", "us-e
type = "service"
group "web" {
count = 5
task "frontend" {
driver = "docker"
config {
image = "hashicorp/web-fron
}
resources {
cpu = 500 # MHz
memory = 128 # MB
network {
mbits = 100
port "http" {}
port "https" {
● Batch Scheduler is optimized for fast placement for short-lived workload.
Example: Daily reports, transactions, billing invoices
● Service Scheduler is optimized for long-running workloads.
Example: Business-critical applications, customer facing webapps,
database
● System Scheduler is optimized for background tasks
Example: Logging/monitoring, security, background processes
Schedulers to Run All Types of Workloads
Enable Flexibility with Extensible Drivers
job “my_job" {
region = "us"
datacenters = ["us-west-1", "us-east-1"]
type = "service"
group "web" {
count = 5
task "frontend" {
driver = "docker"
config {
image = "hashicorp/web-frontend"
}
resources {
cpu = 500 # MHz
memory = 128 # MB
network {
mbits = 100
port "http" {}
port "https" {
static = 443
● Task Drivers execute tasks on the Nomad Client and provide
resource isolation
● First-class support of a broad set of workloads across all
major operating systems
Robust Application Update Strategy
Automate job update and migration
to minimize down time
● Rolling Updates
● Blue/Green deployments
● Canaries deployments
● Updates can be gated on Consul
health checks and automatically
reverted
job “my_job” {
update {
max_parallel = 3
health_check = "checks"
min_healthy_time = "10s"
healthy_deadline = "10m"
auto_revert = true
canary = 1
stagger = "30s"
}
}
TERMINAL
Operating Nomad
Nomad Architecture - Single Process
Single Binary
(<35MB)
NOMAD
AGENT
NOMAD
SERVER
NOMAD
CLIENT
Nomad Server forms the control plane for
scheduling.
$ .nomad -config=server.hcl
Nomad Client runs on the node which
registers with the servers, watching for any work to
be assigned and execute tasks
$ .nomad -config=client.hcl
Nomad Architecture - Single Region
Nomad Demo
Scheduling in Nomad
Overall Scheduling Process
Define the
“Desired States”
of tasks by users,
bounded by hard
and soft
constraints
Triggered by any
change of Jobs or
Nodes when
Nomad needs to
re-evaluate the the
“state of world”
Nomad generates
a plan on how a
set of tasks in a
job should be run
on a particular
node
Nodes form a
resource pool
where the tasks
can be executed.
Nomad monitors
their health status
Nomad scheduler is responsible for processing an
evaluation and generating an allocation plan.
Improved Application Resiliency
Improved Resource Utilization
● Improve resource utilization by densely
scheduling applications over underutilized
resources
Native Integration with
Vault and Consul
Secrets Management with Vault
● Automatic Vault token retrieval
● Automatic Vault token renewal
● Automatic secret retrieval and
renewal via template stanza
Job file
job “my_job" {
group "example" {
task "server" {
vault {
policies = ["cdn", "frontend"]
change_mode = "signal"
change_signal = "SIGUSR1"
}
}
}
}
TERMINAL
retrieve
renew
Service Discovery with Consul
● Built-in service discovery,
registration, and health check
monitoring for all applications
deployed under Nomad
Service Mesh with Consul
● Network Namespaces to create
isolated network for a task group
● Native Consul Connect integration
to launch sidecar proxies for
applications
● Intentions*are defined in Consul
and transparent to job spec
authors as applications scale up
and down
*Note: Intentions define access control for services via
Consul Connect and are used to control which services
may establish connections.
Nomad Ecosystem
© 2018 HashiCorp
NOMAD ECOSYSTEM
Broad
Ecosystem
Integration
Monitoring
● The Nomad client and server
agents collect runtime telemetry.
● Operators can use this data to
gain real-time visibility into their
Nomad clusters and improve
performance.
● The metrics can be exported to
tools like Prometheus, Grafana,
Graphite, DataDog, and Circonus.
telemetry {
publish_allocation_metrics = true
publish_node_metrics = true
}
telemetry {
datadog_address = "dogstatsd.company.local:8125"
datadog_tags = ["my_tag_name:my_tag_value"]
}
Specialized Hardware with Device Plugins
Run any workload against any
hardware infrastructure with
extensible device plugins
● Nomad clients discover and
fingerprint the attributes of
available hardware resources in
addition to existing built-in
resources
● plugin also assists the Nomad
client in making the allocated
device available to run the task
type DevicePlugin interface {
Fingerprint(ctx context.Context) (<-chan *FingerprintResponse, error)
Reserve(deviceIDs []string) (*ContainerReservation, error)
Stats(ctx context.Context, interval time.Duration) (<-chan
*StatsResponse, error)
}
TERMINAL
What’s New with Nomad 0.11
Enhance Core Orchestration Capabilities
Container
Storage
Interface
Deploy stateful
applications with any
storage provider of choice
(EBS, EFS, etc.)
Task
Dependencies
Run interdependent
applications in their
sequential orders easily
and efficiently at scale
Autoscaling
Dynamically scale
application instances
based on real-time load
without manual
intervention
Nomad 0.11 Key Features | OSS
Remote Exec
(UI)
Directly execute
commands in running
allocations through the
Nomad UI for faster
operability
Audit Logging
Provides administrators with a
complete set of records for all user-
issued actions to fulfill compliance
requirements.
[Governance & Policies Module]
Nomad 0.11 Key Features | ENT
© 2018 HashiCorp
nomadproject.io
learn.hashicorp.com/nomad
github.com/hashicorp/nomad
www.hashicorp.com
hello@hashicorp.com
Thank you
HashiCorp VirtualDays:
Asia Pacific
Thank You!
Ad

More Related Content

What's hot (20)

An introduction to Apache Camel
An introduction to Apache CamelAn introduction to Apache Camel
An introduction to Apache Camel
Kapil Kumar
 
Containerization using docker
Containerization using dockerContainerization using docker
Containerization using docker
Vinod Doshi
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) Controller
Vipin Gupta
 
Standish Chaos Report - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...
Standish Chaos Report  - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...Standish Chaos Report  - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...
Standish Chaos Report - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...
Vincent Dumain
 
Camara Application Programming Interface (API) Overview.pdf
Camara Application Programming Interface (API) Overview.pdfCamara Application Programming Interface (API) Overview.pdf
Camara Application Programming Interface (API) Overview.pdf
DimitrisLogothetis10
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
Alex Cachia
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APITen Reasons Developers Hate Your API
Ten Reasons Developers Hate Your API
John Musser
 
PowerShell: Automation for Everyone
PowerShell: Automation for EveryonePowerShell: Automation for Everyone
PowerShell: Automation for Everyone
Intergen
 
REST-API introduction for developers
REST-API introduction for developersREST-API introduction for developers
REST-API introduction for developers
Patrick Savalle
 
Alfresco Process Services REST API - Alfresco DevCon 2018
 Alfresco Process Services REST API - Alfresco DevCon 2018 Alfresco Process Services REST API - Alfresco DevCon 2018
Alfresco Process Services REST API - Alfresco DevCon 2018
Dennis Koch
 
API Trends & Use Cases
API Trends & Use CasesAPI Trends & Use Cases
API Trends & Use Cases
SmartWave
 
Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes
Daneyon Hansen
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
Halil Burak Cetinkaya
 
Contract testing and Pact
Contract testing and PactContract testing and Pact
Contract testing and Pact
Seb Rose
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
Sanjoy Kumar Roy
 
Karate DSL
Karate DSLKarate DSL
Karate DSL
anil borse
 
Radius Protocol
Radius ProtocolRadius Protocol
Radius Protocol
Netwax Lab
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
Docker, Inc.
 
Reasons To Automate API Testing Process
Reasons To Automate API Testing ProcessReasons To Automate API Testing Process
Reasons To Automate API Testing Process
QASource
 
An introduction to Apache Camel
An introduction to Apache CamelAn introduction to Apache Camel
An introduction to Apache Camel
Kapil Kumar
 
Containerization using docker
Containerization using dockerContainerization using docker
Containerization using docker
Vinod Doshi
 
SDN (Software Defined Networking) Controller
SDN (Software Defined Networking) ControllerSDN (Software Defined Networking) Controller
SDN (Software Defined Networking) Controller
Vipin Gupta
 
Standish Chaos Report - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...
Standish Chaos Report  - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...Standish Chaos Report  - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...
Standish Chaos Report - Cercle de Discussion - PMI Branche Midi-Pyrénées (Vi...
Vincent Dumain
 
Camara Application Programming Interface (API) Overview.pdf
Camara Application Programming Interface (API) Overview.pdfCamara Application Programming Interface (API) Overview.pdf
Camara Application Programming Interface (API) Overview.pdf
DimitrisLogothetis10
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
Alex Cachia
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
Ten Reasons Developers Hate Your API
Ten Reasons Developers Hate Your APITen Reasons Developers Hate Your API
Ten Reasons Developers Hate Your API
John Musser
 
PowerShell: Automation for Everyone
PowerShell: Automation for EveryonePowerShell: Automation for Everyone
PowerShell: Automation for Everyone
Intergen
 
REST-API introduction for developers
REST-API introduction for developersREST-API introduction for developers
REST-API introduction for developers
Patrick Savalle
 
Alfresco Process Services REST API - Alfresco DevCon 2018
 Alfresco Process Services REST API - Alfresco DevCon 2018 Alfresco Process Services REST API - Alfresco DevCon 2018
Alfresco Process Services REST API - Alfresco DevCon 2018
Dennis Koch
 
API Trends & Use Cases
API Trends & Use CasesAPI Trends & Use Cases
API Trends & Use Cases
SmartWave
 
Contract testing and Pact
Contract testing and PactContract testing and Pact
Contract testing and Pact
Seb Rose
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
Sanjoy Kumar Roy
 
Radius Protocol
Radius ProtocolRadius Protocol
Radius Protocol
Netwax Lab
 
Kubernetes extensibility
Kubernetes extensibilityKubernetes extensibility
Kubernetes extensibility
Docker, Inc.
 
Reasons To Automate API Testing Process
Reasons To Automate API Testing ProcessReasons To Automate API Testing Process
Reasons To Automate API Testing Process
QASource
 

Similar to Modern Scheduling for Modern Applications with Nomad (20)

Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Odinot Stanislas
 
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern AutomationIncrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Sean Chittenden
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
QAware GmbH
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Nane Kratzke
 
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Jeffrey Holden
 
DevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatDevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to Habitat
Jessica DeVita
 
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
DataWorks Summit
 
An Easy Way to Adopt Hybrid Cloud, Datacomm Solution
An Easy Way to Adopt Hybrid Cloud, Datacomm SolutionAn Easy Way to Adopt Hybrid Cloud, Datacomm Solution
An Easy Way to Adopt Hybrid Cloud, Datacomm Solution
PT Datacomm Diangraha
 
Velocity 2018 preetha appan final
Velocity 2018   preetha appan finalVelocity 2018   preetha appan final
Velocity 2018 preetha appan final
preethaappan
 
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On KubernetesHow To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
Lightbend
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB Atlas
Datavail
 
Webinar: Overcoming the Top Challenges of Recovery to the Cloud
Webinar: Overcoming the Top Challenges of Recovery to the CloudWebinar: Overcoming the Top Challenges of Recovery to the Cloud
Webinar: Overcoming the Top Challenges of Recovery to the Cloud
iland Cloud
 
[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments
WSO2
 
Ransomware: The Defendable Epidemic
Ransomware: The Defendable EpidemicRansomware: The Defendable Epidemic
Ransomware: The Defendable Epidemic
Sagi Brody
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
Tapio Rautonen
 
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
Docker, Inc.
 
IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode Deploy
Jared Putman
 
Cloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaSCloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaS
Andrew Khoury
 
Docker meetup - PaaS interoperability
Docker meetup - PaaS interoperabilityDocker meetup - PaaS interoperability
Docker meetup - PaaS interoperability
Ludovic Piot
 
Designing For Multicloud, CF Summit Frankfurt 2016
Designing For Multicloud, CF Summit Frankfurt 2016Designing For Multicloud, CF Summit Frankfurt 2016
Designing For Multicloud, CF Summit Frankfurt 2016
Mark D'Cunha
 
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Odinot Stanislas
 
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern AutomationIncrementalism: An Industrial Strategy For Adopting Modern Automation
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Sean Chittenden
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
QAware GmbH
 
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Smuggling Multi-Cloud Support into Cloud-native Applications using Elastic Co...
Nane Kratzke
 
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Deploying Cloud Native Red Team Infrastructure with Kubernetes, Istio and Envoy
Jeffrey Holden
 
DevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatDevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to Habitat
Jessica DeVita
 
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on KubernetesApache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
Apache Druid Auto Scale-out/in for Streaming Data Ingestion on Kubernetes
DataWorks Summit
 
An Easy Way to Adopt Hybrid Cloud, Datacomm Solution
An Easy Way to Adopt Hybrid Cloud, Datacomm SolutionAn Easy Way to Adopt Hybrid Cloud, Datacomm Solution
An Easy Way to Adopt Hybrid Cloud, Datacomm Solution
PT Datacomm Diangraha
 
Velocity 2018 preetha appan final
Velocity 2018   preetha appan finalVelocity 2018   preetha appan final
Velocity 2018 preetha appan final
preethaappan
 
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On KubernetesHow To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
Lightbend
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB Atlas
Datavail
 
Webinar: Overcoming the Top Challenges of Recovery to the Cloud
Webinar: Overcoming the Top Challenges of Recovery to the CloudWebinar: Overcoming the Top Challenges of Recovery to the Cloud
Webinar: Overcoming the Top Challenges of Recovery to the Cloud
iland Cloud
 
[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments
WSO2
 
Ransomware: The Defendable Epidemic
Ransomware: The Defendable EpidemicRansomware: The Defendable Epidemic
Ransomware: The Defendable Epidemic
Sagi Brody
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
Tapio Rautonen
 
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
DCEU 18: From Legacy Mainframe to the Cloud: The Finnish Railways Evolution w...
Docker, Inc.
 
IBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode DeployIBM Datapower Gateways - Devops with UrbanCode Deploy
IBM Datapower Gateways - Devops with UrbanCode Deploy
Jared Putman
 
Cloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaSCloud Adoption: From Start to PaaS
Cloud Adoption: From Start to PaaS
Andrew Khoury
 
Docker meetup - PaaS interoperability
Docker meetup - PaaS interoperabilityDocker meetup - PaaS interoperability
Docker meetup - PaaS interoperability
Ludovic Piot
 
Designing For Multicloud, CF Summit Frankfurt 2016
Designing For Multicloud, CF Summit Frankfurt 2016Designing For Multicloud, CF Summit Frankfurt 2016
Designing For Multicloud, CF Summit Frankfurt 2016
Mark D'Cunha
 
Ad

More from Mitchell Pronschinske (20)

Getting Started with Kubernetes and Consul
Getting Started with Kubernetes and ConsulGetting Started with Kubernetes and Consul
Getting Started with Kubernetes and Consul
Mitchell Pronschinske
 
Multi-Cloud with Nomad and Consul Connect
Multi-Cloud with Nomad and Consul ConnectMulti-Cloud with Nomad and Consul Connect
Multi-Cloud with Nomad and Consul Connect
Mitchell Pronschinske
 
Code quality for Terraform
Code quality for TerraformCode quality for Terraform
Code quality for Terraform
Mitchell Pronschinske
 
Dynamic Azure Credentials for Applications and CI/CD Pipelines
Dynamic Azure Credentials for Applications and CI/CD PipelinesDynamic Azure Credentials for Applications and CI/CD Pipelines
Dynamic Azure Credentials for Applications and CI/CD Pipelines
Mitchell Pronschinske
 
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on AzureMigrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Mitchell Pronschinske
 
Empowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorpEmpowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorp
Mitchell Pronschinske
 
Automate and simplify multi cloud complexity with f5 and hashi corp
Automate and simplify multi cloud complexity with f5 and hashi corpAutomate and simplify multi cloud complexity with f5 and hashi corp
Automate and simplify multi cloud complexity with f5 and hashi corp
Mitchell Pronschinske
 
Vault 1.5 Overview
Vault 1.5 OverviewVault 1.5 Overview
Vault 1.5 Overview
Mitchell Pronschinske
 
Using new sentinel features in terraform cloud
Using new sentinel features in terraform cloudUsing new sentinel features in terraform cloud
Using new sentinel features in terraform cloud
Mitchell Pronschinske
 
Military Edge Computing with Vault and Consul
Military Edge Computing with Vault and ConsulMilitary Edge Computing with Vault and Consul
Military Edge Computing with Vault and Consul
Mitchell Pronschinske
 
Unlocking the Cloud operating model with GitHub Actions
Unlocking the Cloud operating model with GitHub ActionsUnlocking the Cloud operating model with GitHub Actions
Unlocking the Cloud operating model with GitHub Actions
Mitchell Pronschinske
 
Vault 1.4 integrated storage overview
Vault 1.4 integrated storage overviewVault 1.4 integrated storage overview
Vault 1.4 integrated storage overview
Mitchell Pronschinske
 
Unlocking the Cloud Operating Model
Unlocking the Cloud Operating ModelUnlocking the Cloud Operating Model
Unlocking the Cloud Operating Model
Mitchell Pronschinske
 
Cisco ACI with HashiCorp Terraform (APAC)
Cisco ACI with HashiCorp Terraform (APAC)Cisco ACI with HashiCorp Terraform (APAC)
Cisco ACI with HashiCorp Terraform (APAC)
Mitchell Pronschinske
 
Governance for Multiple Teams Sharing a Nomad Cluster
Governance for Multiple Teams Sharing a Nomad ClusterGovernance for Multiple Teams Sharing a Nomad Cluster
Governance for Multiple Teams Sharing a Nomad Cluster
Mitchell Pronschinske
 
Integrating Terraform and Consul
Integrating Terraform and ConsulIntegrating Terraform and Consul
Integrating Terraform and Consul
Mitchell Pronschinske
 
Unlocking the Cloud Operating Model: Deployment
Unlocking the Cloud Operating Model: DeploymentUnlocking the Cloud Operating Model: Deployment
Unlocking the Cloud Operating Model: Deployment
Mitchell Pronschinske
 
Keeping a Secret with HashiCorp Vault
Keeping a Secret with HashiCorp VaultKeeping a Secret with HashiCorp Vault
Keeping a Secret with HashiCorp Vault
Mitchell Pronschinske
 
Moving to a Microservice World: Leveraging Consul on Azure
Moving to a Microservice World: Leveraging Consul on AzureMoving to a Microservice World: Leveraging Consul on Azure
Moving to a Microservice World: Leveraging Consul on Azure
Mitchell Pronschinske
 
Remote Culture at HashiCorp
Remote Culture at HashiCorpRemote Culture at HashiCorp
Remote Culture at HashiCorp
Mitchell Pronschinske
 
Getting Started with Kubernetes and Consul
Getting Started with Kubernetes and ConsulGetting Started with Kubernetes and Consul
Getting Started with Kubernetes and Consul
Mitchell Pronschinske
 
Multi-Cloud with Nomad and Consul Connect
Multi-Cloud with Nomad and Consul ConnectMulti-Cloud with Nomad and Consul Connect
Multi-Cloud with Nomad and Consul Connect
Mitchell Pronschinske
 
Dynamic Azure Credentials for Applications and CI/CD Pipelines
Dynamic Azure Credentials for Applications and CI/CD PipelinesDynamic Azure Credentials for Applications and CI/CD Pipelines
Dynamic Azure Credentials for Applications and CI/CD Pipelines
Mitchell Pronschinske
 
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on AzureMigrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Migrating from VMs to Kubernetes using HashiCorp Consul Service on Azure
Mitchell Pronschinske
 
Empowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorpEmpowering developers and operators through Gitlab and HashiCorp
Empowering developers and operators through Gitlab and HashiCorp
Mitchell Pronschinske
 
Automate and simplify multi cloud complexity with f5 and hashi corp
Automate and simplify multi cloud complexity with f5 and hashi corpAutomate and simplify multi cloud complexity with f5 and hashi corp
Automate and simplify multi cloud complexity with f5 and hashi corp
Mitchell Pronschinske
 
Using new sentinel features in terraform cloud
Using new sentinel features in terraform cloudUsing new sentinel features in terraform cloud
Using new sentinel features in terraform cloud
Mitchell Pronschinske
 
Military Edge Computing with Vault and Consul
Military Edge Computing with Vault and ConsulMilitary Edge Computing with Vault and Consul
Military Edge Computing with Vault and Consul
Mitchell Pronschinske
 
Unlocking the Cloud operating model with GitHub Actions
Unlocking the Cloud operating model with GitHub ActionsUnlocking the Cloud operating model with GitHub Actions
Unlocking the Cloud operating model with GitHub Actions
Mitchell Pronschinske
 
Vault 1.4 integrated storage overview
Vault 1.4 integrated storage overviewVault 1.4 integrated storage overview
Vault 1.4 integrated storage overview
Mitchell Pronschinske
 
Cisco ACI with HashiCorp Terraform (APAC)
Cisco ACI with HashiCorp Terraform (APAC)Cisco ACI with HashiCorp Terraform (APAC)
Cisco ACI with HashiCorp Terraform (APAC)
Mitchell Pronschinske
 
Governance for Multiple Teams Sharing a Nomad Cluster
Governance for Multiple Teams Sharing a Nomad ClusterGovernance for Multiple Teams Sharing a Nomad Cluster
Governance for Multiple Teams Sharing a Nomad Cluster
Mitchell Pronschinske
 
Unlocking the Cloud Operating Model: Deployment
Unlocking the Cloud Operating Model: DeploymentUnlocking the Cloud Operating Model: Deployment
Unlocking the Cloud Operating Model: Deployment
Mitchell Pronschinske
 
Keeping a Secret with HashiCorp Vault
Keeping a Secret with HashiCorp VaultKeeping a Secret with HashiCorp Vault
Keeping a Secret with HashiCorp Vault
Mitchell Pronschinske
 
Moving to a Microservice World: Leveraging Consul on Azure
Moving to a Microservice World: Leveraging Consul on AzureMoving to a Microservice World: Leveraging Consul on Azure
Moving to a Microservice World: Leveraging Consul on Azure
Mitchell Pronschinske
 
Ad

Recently uploaded (20)

Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
How can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptxHow can one start with crypto wallet development.pptx
How can one start with crypto wallet development.pptx
laravinson24
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 

Modern Scheduling for Modern Applications with Nomad

  • 1. © 2018 HashiCorp Nomad Modern Scheduling for Modern Applications Jasmine Dahilig
  • 2. 80%+ companies are deploying containers with Multiple OSes across Multiple Clouds Majority of surveyed organizations are deploying containers with both Linux and Windows, across on-premises and multiple clouds 40% of surveyed organizations cited “complexity” as the number one challenge in container deployment. Management Complexity is a top challenge in using and deploying containers https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud- native-technologies-in-production-has-grown-over-200-percent/ https://goto.docker.com/rs/929-FJL-178/images/IDC- containerplatform-wp.pdf
  • 3. A Common Cloud Operating Model App App Run Provision Connect Secure Compliance&Governance
  • 4. The Need for a Modern Orchestrator
  • 5. © 2018 HashiCorp The Move to Containers and Clouds 5 ● Adopt containers and microservices for new applications ● Re-architect & migrate existing applications ● Segment of legacy applications remains the same
  • 6. © 2018 HashiCorp The Fundamental Needs for a Container Orchestrator 6 How do we run containers in production? ”
  • 7. © 2018 HashiCorp Challenges of Moving to Containers 7 ● Lack of budget or time to refactor existing applications ● Increased complexity to support mixed systems and workflows ● Limited time to meet IT/Business requirements - Incremental vs Overhaul
  • 8. © 2018 HashiCorp Guiding Principle Orchestrate Any Application 8 ● Bringing modern orchestration benefits to all - containerized, non-containerized and batch applications ● A simple, lightweight layer that can be integrated with any existing infrastructure ● A single, unified workflow to accelerate incremental application modernization
  • 9. © 2018 HashiCorp NOMAD ECOSYSTEM Single Orchestrator for Clouds
  • 12. Application Deployment as Code ● Declarative specification using HCL (like Terraform) or JSON ● Set the deployment rules for applications fast and intuitively. Define tasks, images, resources, priorities, constraints, service registrations, secrets and other information required to deploy the application. job “my_job" { region = "us" datacenters = ["us-west-1", "us-east-1"] type = "service" group "web" { count = 5 task "frontend" { driver = "docker" config { image = "hashicorp/web-frontend" } resources { cpu = 500 # MHz memory = 128 # MB network { mbits = 100 port "http" {} port "https" { static = 443 TERMINAL
  • 13. Intuitive Deployment Rules job “my_job" { region = "us" datacenters = ["us-west-1", "us-east-1"] type = "service" group "web" { count = 5 task "frontend" { driver = "docker" config { image = "hashicorp/web-frontend" } resources { cpu = 500 # MHz memory = 128 # MB network { mbits = 100 port "http" {} port "https" { static = 443 job # define the deployment rules for applications _ group # defines a series of tasks that should be co-located on the same Nomad client _ task # defines a command, service, application or "set of work" to execute, such as a docker container, webapp or batch processing. Tasks are executed by their driver
  • 14. job “my_job" { region = "us" datacenters = ["us-west-1", "us-e type = "service" group "web" { count = 5 task "frontend" { driver = "docker" config { image = "hashicorp/web-fron } resources { cpu = 500 # MHz memory = 128 # MB network { mbits = 100 port "http" {} port "https" { ● Batch Scheduler is optimized for fast placement for short-lived workload. Example: Daily reports, transactions, billing invoices ● Service Scheduler is optimized for long-running workloads. Example: Business-critical applications, customer facing webapps, database ● System Scheduler is optimized for background tasks Example: Logging/monitoring, security, background processes Schedulers to Run All Types of Workloads
  • 15. Enable Flexibility with Extensible Drivers job “my_job" { region = "us" datacenters = ["us-west-1", "us-east-1"] type = "service" group "web" { count = 5 task "frontend" { driver = "docker" config { image = "hashicorp/web-frontend" } resources { cpu = 500 # MHz memory = 128 # MB network { mbits = 100 port "http" {} port "https" { static = 443 ● Task Drivers execute tasks on the Nomad Client and provide resource isolation ● First-class support of a broad set of workloads across all major operating systems
  • 16. Robust Application Update Strategy Automate job update and migration to minimize down time ● Rolling Updates ● Blue/Green deployments ● Canaries deployments ● Updates can be gated on Consul health checks and automatically reverted job “my_job” { update { max_parallel = 3 health_check = "checks" min_healthy_time = "10s" healthy_deadline = "10m" auto_revert = true canary = 1 stagger = "30s" } } TERMINAL
  • 18. Nomad Architecture - Single Process Single Binary (<35MB) NOMAD AGENT NOMAD SERVER NOMAD CLIENT Nomad Server forms the control plane for scheduling. $ .nomad -config=server.hcl Nomad Client runs on the node which registers with the servers, watching for any work to be assigned and execute tasks $ .nomad -config=client.hcl
  • 19. Nomad Architecture - Single Region
  • 22. Overall Scheduling Process Define the “Desired States” of tasks by users, bounded by hard and soft constraints Triggered by any change of Jobs or Nodes when Nomad needs to re-evaluate the the “state of world” Nomad generates a plan on how a set of tasks in a job should be run on a particular node Nodes form a resource pool where the tasks can be executed. Nomad monitors their health status Nomad scheduler is responsible for processing an evaluation and generating an allocation plan.
  • 24. Improved Resource Utilization ● Improve resource utilization by densely scheduling applications over underutilized resources
  • 26. Secrets Management with Vault ● Automatic Vault token retrieval ● Automatic Vault token renewal ● Automatic secret retrieval and renewal via template stanza Job file job “my_job" { group "example" { task "server" { vault { policies = ["cdn", "frontend"] change_mode = "signal" change_signal = "SIGUSR1" } } } } TERMINAL retrieve renew
  • 27. Service Discovery with Consul ● Built-in service discovery, registration, and health check monitoring for all applications deployed under Nomad
  • 28. Service Mesh with Consul ● Network Namespaces to create isolated network for a task group ● Native Consul Connect integration to launch sidecar proxies for applications ● Intentions*are defined in Consul and transparent to job spec authors as applications scale up and down *Note: Intentions define access control for services via Consul Connect and are used to control which services may establish connections.
  • 30. © 2018 HashiCorp NOMAD ECOSYSTEM Broad Ecosystem Integration
  • 31. Monitoring ● The Nomad client and server agents collect runtime telemetry. ● Operators can use this data to gain real-time visibility into their Nomad clusters and improve performance. ● The metrics can be exported to tools like Prometheus, Grafana, Graphite, DataDog, and Circonus. telemetry { publish_allocation_metrics = true publish_node_metrics = true } telemetry { datadog_address = "dogstatsd.company.local:8125" datadog_tags = ["my_tag_name:my_tag_value"] }
  • 32. Specialized Hardware with Device Plugins Run any workload against any hardware infrastructure with extensible device plugins ● Nomad clients discover and fingerprint the attributes of available hardware resources in addition to existing built-in resources ● plugin also assists the Nomad client in making the allocated device available to run the task type DevicePlugin interface { Fingerprint(ctx context.Context) (<-chan *FingerprintResponse, error) Reserve(deviceIDs []string) (*ContainerReservation, error) Stats(ctx context.Context, interval time.Duration) (<-chan *StatsResponse, error) } TERMINAL
  • 33. What’s New with Nomad 0.11 Enhance Core Orchestration Capabilities
  • 34. Container Storage Interface Deploy stateful applications with any storage provider of choice (EBS, EFS, etc.) Task Dependencies Run interdependent applications in their sequential orders easily and efficiently at scale Autoscaling Dynamically scale application instances based on real-time load without manual intervention Nomad 0.11 Key Features | OSS Remote Exec (UI) Directly execute commands in running allocations through the Nomad UI for faster operability
  • 35. Audit Logging Provides administrators with a complete set of records for all user- issued actions to fulfill compliance requirements. [Governance & Policies Module] Nomad 0.11 Key Features | ENT