SlideShare a Scribd company logo
Vikas Vashisth
(Sr. Software Consultant – DevOps
at NashTech )
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
 Punctuality
Join the session 5 minutes prior to the session start time. We start on
time and conclude on time!
 Feedback
Make sure to submit a constructive feedback for all sessions as it is very
helpful for the presenter.
 Silent Mode
Keep your mobile devices in silent mode, feel free to move out of session
in case you need to attend an urgent call.
 Avoid Disturbance
Avoid unwanted chit chat during the session.
 What is Nomad
 Why use Nomad
 Comparison between Nomad and Kubernetes
 Customers of HashiCorp
 Nomad Architecture
 Installation and Setup
 Understanding Job and Task Groups
 Demo
 Quick Questions and Answers round
Nomad by HashiCorp Presentation (DevOps)
What is Nomad ?
 Nomad is a workload orchestrator developed by HashiCorp, the company behind other popular tools
like Vagrant, Terraform and Vault.
 It is designed to manage and deploy applications across an entire infrastructure which can include
multiple datacenters and regions.
 HashiCorp Nomad is a modern, lightweight, workload scheduler.
 Nomad is also known as orchestrating engine like Kubernetes.
 HashiCorp Nomad makes it easy for any organization to easily deploy and manage its applications. It
can not only orchestrate containerized applications but also legacy applications using a single, unified
workflow.
 Nomad can also run Docker, non-containerized, microservice, and batch applications.
Nomad by HashiCorp Presentation (DevOps)
Why use Nomad ?
 Simplicity: Nomad is designed to be simple and easy to use. It has a straightforward setup process
and a user-friendly interface. This can make it easier to get started with and manage compared to more
complex orchestration systems.
 Flexible Workload Support: Nomad supports a variety of workloads, including containerized
applications (using Docker), standalone applications, and even virtual machines. This flexibility can
make it a good fit for a wide range of use cases.
 Scalability and Performance: Nomad is designed to be highly scalable and performant. It can handle
orchestrating thousands of deployments across multiple regions, making it suitable for large-scale,
high-load environments.
 Multi-Region and Multi-Datacenter Support: Nomad supports running applications across multiple
datacenters and regions. This can help provide high availability and reduce latency, which can be
particularly important for global applications.
 Integration with Other HashiCorp Tools: If you're already using other HashiCorp tools like Consul for
service discovery and networking, or Vault for secret management, Nomad can integrate with these
tools, providing a cohesive and powerful toolset.
 Security: Nomad includes built-in mechanisms for secure operation, including Access Control Lists
(ACLs), Namespaces, and Sentinel policies. This can help ensure that your deployments are secure.
Why use Nomad ?
 Resource Efficiency: Nomad's bin packing algorithm helps to efficiently utilize resources and reduce
costs.
 Community and Support: HashiCorp has a strong community and provides good support for its tools.
This can be a big advantage when you need help or want to extend the tool's capabilities.
Nomad by HashiCorp Presentation (DevOps)
Features Nomad Kubernetes
Complexity and
Ease of Use
• Nomad is simpler to set up and use, with a single binary for
both clients and servers.
• Kubernetes is more complex with a
steeper learning curve, but offers a
wider range of features.
Scope Nomad is primarily a task scheduler and deployer. It integrates
with other tools for additional features.
Kubernetes is a comprehensive platform
that includes service discovery, scaling,
load balancing, and more.
Workload Support • Nomad supports containerized and non-containerized
applications, as well as virtual machines.
• Kubernetes primarily supports
containerized applications.
Multi-Datacenter
and Multi-Region
Support
Nomad natively supports running applications across multiple
datacenters and regions.
Kubernetes supports multi-datacenter and
multi-region deployments, but it requires
additional configuration.
Scalability • Both are designed to be highly scalable, but Nomad's
simplicity can make it easier to manage at scale.
• Kubernetes is highly scalable and
widely used in large-scale
environments.
Community and
Ecosystem
• Nomad has a smaller community but integrates well with
other HashiCorp tools.
• Kubernetes has a larger community and
a wide range of extensions and
integrations available.
Why should we use Nomad ?
 If you need a simple , focused tool for scheduling and deploying tasks or if you have a lot of non-
containerized workloads, Night might be the better choice.
 If you need a comprehensive solution that includes service discovery, load balancing and more
and you're willing to deal with the complexity, Kubernetes might be the better choice.
Nomad by HashiCorp Presentation (DevOps)
HashiCorp - Nomad Customers
https://developer.hashicorp.com/nomad/docs/who-uses-nomad
f​
Nomad by HashiCorp Presentation (DevOps)
Prerequisites
 Operating System: Nomad is a cross-platform tool. It supports Linux, Windows, and macOS.
However, for production use, a Linux-based system is typically recommended.
 Hardware: The hardware requirements for Nomad depend on the workloads that you plan to run.
However, at a minimum, you should have a machine with at least 1 GB of RAM and a 1-core
processor. For production use, a machine with more resources would be needed.
Software:
 You need to have a modern version of the Go programming language installed if you plan to build
Nomad from source.
 If you plan to run Docker-based workloads, you need to have Docker installed.
 If you plan to use Nomad's web UI, you need to have a modern web browser.
 Network: Each Nomad agent (both servers and clients) needs to have network connectivity with
each other. This is typically done over TCP/IP. The specific ports that need to be open depend on
your configuration.
 Knowledge: While not a strict prerequisite, it's helpful to have some knowledge of system
administration and networking concepts. Familiarity with the basics of containerization (especially
Docker) can also be helpful if you plan to run containerized workloads.
Prerequisites For Nomad Servers
Nomad Architecture
Nomad follows a client-server architecture where the servers are responsible for managing the
cluster and scheduling jobs, while the clients are responsible for running the jobs. Here's an
overview of Nomad's architecture:
 Server Nodes: The server nodes are the brains of the cluster. They accept job submissions,
determine which clients should run the jobs, and monitor the cluster for failures. Servers use the
Raft consensus protocol to handle leader election and state replication. A Nomad cluster typically
has an odd number of server nodes (such as 3 or 5) to tolerate failures and maintain a quorum.
 Client Nodes: The client nodes are the workers of the cluster. They run the tasks that make up
the jobs. Each client node runs a Nomad agent, which registers the node with the servers, reports
on the node's status, and handles task execution.
 Jobs and Tasks: In Nomad, a job is a declarative specification of tasks to run. Each task belongs
to a task group, which is a set of tasks that are scheduled together. Tasks can be anything from
Docker containers to standalone applications.
 Schedulers: Nomad uses pluggable scheduling algorithms to determine how to allocate
resources to tasks. It includes several built-in schedulers for different use cases, and you can also
add your own.
Nomad Architecture
 Service Discovery and Load Balancing: Nomad integrates with the HashiCorp's Consul for
service discovery and load balancing. This allows tasks to find each other and distribute traffic.
 Secret Management: Nomad integrates with the HashiCorp's Vault for secret management. This
allows tasks to securely access secrets like APIs keys and passwords.
 Web UI: Nomad includes a Web UI that provides a visual way to interact with the cluster. You
can use it to view the status of jobs and task, submit new jobs and more.
Nomad by HashiCorp Presentation (DevOps)
Job Specification File
Nomad by HashiCorp Presentation (DevOps)
Nomad by HashiCorp Presentation (DevOps)
A. HashiCorp B. GitHub
Q1. Nomad is developed by __________ ?
C. AWS D. Microsoft
A. HashiCorp B. GitHub
Q1. Nomad is developed by __________ ?
C. AWS D. Microsoft
A. 2-8 core B. 8-16 core
Q2. What is the CPU range for a small Nomad server?
C. 2-4 core D. 4-8 core
A. 2-8 core B. 8-16 core
Q2. What is the CPU range for a small Nomad server?
C. 2-4 core D. 4-8 core
A. 50 GB B. 100 GB
Q3. What is the disk size for a large Nomad server?
C. 150 GB D. 200 GB
A. 50 GB B. 100 GB
Q3. What is the disk size for a large Nomad server?
C. 150 GB D. 200 GB
Nomad by HashiCorp Presentation (DevOps)

More Related Content

Nomad by HashiCorp Presentation (DevOps)

  • 1. Vikas Vashisth (Sr. Software Consultant – DevOps at NashTech )
  • 2. Lack of etiquette and manners is a huge turn off. KnolX Etiquettes  Punctuality Join the session 5 minutes prior to the session start time. We start on time and conclude on time!  Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter.  Silent Mode Keep your mobile devices in silent mode, feel free to move out of session in case you need to attend an urgent call.  Avoid Disturbance Avoid unwanted chit chat during the session.
  • 3.  What is Nomad  Why use Nomad  Comparison between Nomad and Kubernetes  Customers of HashiCorp  Nomad Architecture  Installation and Setup  Understanding Job and Task Groups  Demo  Quick Questions and Answers round
  • 5. What is Nomad ?  Nomad is a workload orchestrator developed by HashiCorp, the company behind other popular tools like Vagrant, Terraform and Vault.  It is designed to manage and deploy applications across an entire infrastructure which can include multiple datacenters and regions.  HashiCorp Nomad is a modern, lightweight, workload scheduler.  Nomad is also known as orchestrating engine like Kubernetes.  HashiCorp Nomad makes it easy for any organization to easily deploy and manage its applications. It can not only orchestrate containerized applications but also legacy applications using a single, unified workflow.  Nomad can also run Docker, non-containerized, microservice, and batch applications.
  • 7. Why use Nomad ?  Simplicity: Nomad is designed to be simple and easy to use. It has a straightforward setup process and a user-friendly interface. This can make it easier to get started with and manage compared to more complex orchestration systems.  Flexible Workload Support: Nomad supports a variety of workloads, including containerized applications (using Docker), standalone applications, and even virtual machines. This flexibility can make it a good fit for a wide range of use cases.  Scalability and Performance: Nomad is designed to be highly scalable and performant. It can handle orchestrating thousands of deployments across multiple regions, making it suitable for large-scale, high-load environments.  Multi-Region and Multi-Datacenter Support: Nomad supports running applications across multiple datacenters and regions. This can help provide high availability and reduce latency, which can be particularly important for global applications.  Integration with Other HashiCorp Tools: If you're already using other HashiCorp tools like Consul for service discovery and networking, or Vault for secret management, Nomad can integrate with these tools, providing a cohesive and powerful toolset.  Security: Nomad includes built-in mechanisms for secure operation, including Access Control Lists (ACLs), Namespaces, and Sentinel policies. This can help ensure that your deployments are secure.
  • 8. Why use Nomad ?  Resource Efficiency: Nomad's bin packing algorithm helps to efficiently utilize resources and reduce costs.  Community and Support: HashiCorp has a strong community and provides good support for its tools. This can be a big advantage when you need help or want to extend the tool's capabilities.
  • 10. Features Nomad Kubernetes Complexity and Ease of Use • Nomad is simpler to set up and use, with a single binary for both clients and servers. • Kubernetes is more complex with a steeper learning curve, but offers a wider range of features. Scope Nomad is primarily a task scheduler and deployer. It integrates with other tools for additional features. Kubernetes is a comprehensive platform that includes service discovery, scaling, load balancing, and more. Workload Support • Nomad supports containerized and non-containerized applications, as well as virtual machines. • Kubernetes primarily supports containerized applications. Multi-Datacenter and Multi-Region Support Nomad natively supports running applications across multiple datacenters and regions. Kubernetes supports multi-datacenter and multi-region deployments, but it requires additional configuration. Scalability • Both are designed to be highly scalable, but Nomad's simplicity can make it easier to manage at scale. • Kubernetes is highly scalable and widely used in large-scale environments. Community and Ecosystem • Nomad has a smaller community but integrates well with other HashiCorp tools. • Kubernetes has a larger community and a wide range of extensions and integrations available.
  • 11. Why should we use Nomad ?  If you need a simple , focused tool for scheduling and deploying tasks or if you have a lot of non- containerized workloads, Night might be the better choice.  If you need a comprehensive solution that includes service discovery, load balancing and more and you're willing to deal with the complexity, Kubernetes might be the better choice.
  • 13. HashiCorp - Nomad Customers https://developer.hashicorp.com/nomad/docs/who-uses-nomad f​
  • 15. Prerequisites  Operating System: Nomad is a cross-platform tool. It supports Linux, Windows, and macOS. However, for production use, a Linux-based system is typically recommended.  Hardware: The hardware requirements for Nomad depend on the workloads that you plan to run. However, at a minimum, you should have a machine with at least 1 GB of RAM and a 1-core processor. For production use, a machine with more resources would be needed. Software:  You need to have a modern version of the Go programming language installed if you plan to build Nomad from source.  If you plan to run Docker-based workloads, you need to have Docker installed.  If you plan to use Nomad's web UI, you need to have a modern web browser.  Network: Each Nomad agent (both servers and clients) needs to have network connectivity with each other. This is typically done over TCP/IP. The specific ports that need to be open depend on your configuration.  Knowledge: While not a strict prerequisite, it's helpful to have some knowledge of system administration and networking concepts. Familiarity with the basics of containerization (especially Docker) can also be helpful if you plan to run containerized workloads.
  • 17. Nomad Architecture Nomad follows a client-server architecture where the servers are responsible for managing the cluster and scheduling jobs, while the clients are responsible for running the jobs. Here's an overview of Nomad's architecture:  Server Nodes: The server nodes are the brains of the cluster. They accept job submissions, determine which clients should run the jobs, and monitor the cluster for failures. Servers use the Raft consensus protocol to handle leader election and state replication. A Nomad cluster typically has an odd number of server nodes (such as 3 or 5) to tolerate failures and maintain a quorum.  Client Nodes: The client nodes are the workers of the cluster. They run the tasks that make up the jobs. Each client node runs a Nomad agent, which registers the node with the servers, reports on the node's status, and handles task execution.  Jobs and Tasks: In Nomad, a job is a declarative specification of tasks to run. Each task belongs to a task group, which is a set of tasks that are scheduled together. Tasks can be anything from Docker containers to standalone applications.  Schedulers: Nomad uses pluggable scheduling algorithms to determine how to allocate resources to tasks. It includes several built-in schedulers for different use cases, and you can also add your own.
  • 18. Nomad Architecture  Service Discovery and Load Balancing: Nomad integrates with the HashiCorp's Consul for service discovery and load balancing. This allows tasks to find each other and distribute traffic.  Secret Management: Nomad integrates with the HashiCorp's Vault for secret management. This allows tasks to securely access secrets like APIs keys and passwords.  Web UI: Nomad includes a Web UI that provides a visual way to interact with the cluster. You can use it to view the status of jobs and task, submit new jobs and more.
  • 23. A. HashiCorp B. GitHub Q1. Nomad is developed by __________ ? C. AWS D. Microsoft
  • 24. A. HashiCorp B. GitHub Q1. Nomad is developed by __________ ? C. AWS D. Microsoft
  • 25. A. 2-8 core B. 8-16 core Q2. What is the CPU range for a small Nomad server? C. 2-4 core D. 4-8 core
  • 26. A. 2-8 core B. 8-16 core Q2. What is the CPU range for a small Nomad server? C. 2-4 core D. 4-8 core
  • 27. A. 50 GB B. 100 GB Q3. What is the disk size for a large Nomad server? C. 150 GB D. 200 GB
  • 28. A. 50 GB B. 100 GB Q3. What is the disk size for a large Nomad server? C. 150 GB D. 200 GB