Docker Enterprise was sold to Mirantis in 2019; that product is now sold as Mirantis Kubernetes Engine. But Docker now offers a 2-product suite that includes Docker Desktop, which they present as a fast way to containerize applications on a desktop; and, Docker Hub, a service for finding and sharing container images with a team and the Docker community, a repository of container images with an array of…
$5
per month
HashiCorp Nomad
Score 8.0 out of 10
N/A
Nomad, from HashiCorp, is presented as a simple, flexible, and production-grade workload orchestrator that enables organizations to deploy, manage, and scale any application, containerized, legacy or batch jobs, across multiple regions, on private and public clouds. Nomad's workload support enables an organization to run containerized, non containerized, and batch applications through a single workflow. Nomad is available open source, or via a supported enterprise plan.
You are going to be able to find the most resources and examples using Docker whenever you are working with a container orchestration software like Kubernetes. There will always some entropy when you run in a container, a containerized application will never be as purely performant as an app running directly on the OS. However, in most scenarios this loss will be negligible to the time saved in deployment, monitoring, etc.
Nomad is well suited for organizations who wish to tackle the problem of cloud computing with as little opinion as possible. Where competing tools like Kubernetes limit the concept of "batteries included," Nomad relies on engineers understanding the missing components and filling them in as necessary. The benefit of Nomad is the ability to build a system out of small pieces with the cost of having more complexity at a system level compared to alternatives.
Nomad only handles one part of a full platform. Expertise and vision are required in implementing an entire system that is functional enough for an organization to rely on. This includes other tools to handle things like secrets, service discovery, network routing, etc.
Nomad is delayed in some modern functionality, like features for service-mesh and open tracing. These features are on the tool's roadmap, but there's currently no native support. These paradigms can be established still, but require more expertise outside of Nomad itself.
Nomad is not the leading tool for this space, and as such risks being left behind by tools with much greater support, such as Kubernetes.
I have been using Docker for more than 3 years and it really simplifies the modern application development and deployment. I like the ability of Docker to improve efficiency, portability and scalability for developers and operations teams. Another reason for giving this rating is because Docker integrates CI/CD pipelines very well
The reason why we are still using Docker right now is due to that is the best among its peers and suits our needs the best. However, the trend we foresee for the future might indicate Amazon lambda could potentially fit our needs to code enviornmentless in the near future.
Nomad's primary competitor is Kubernetes, specifically its scheduling component. Kubernetes is a much more complete system that will handle more things than job scheduling, including service discovery, secrets management, and service routing. There also exists a much larger community support for Kubernetes vs Nomad. One might say Kubernetes is the safer choice between the two. Kubernetes is the complete "operating system" for cloud computing, but with it includes complexities that are "Kubernetes" specific. The decision really comes down to a mindset of monolith vs components. With Kubernetes, I would argue you choose the entire system as a whole. With Nomad, you design your system piece by piece. There is no wrong answer.
It is the only tool in our toolset that has not [had] any issues so far. That is really a mark of reliability, and it's a testimony to how well the product is made, and a tool that does its job well is a tool well worth having. It is the base tool that I would say any organisation must have if they do scalable deployment.
Nomad has allowed our organization to deploy quicker and more frequently with a lower failure rate.
Nomad has brought in consistency from an operations perspective.
Nomad's performance allows us to scale infinitely while providing functionality that reduces mean time to repair (canary deploys, versioning, rollbacks, etc).