What is Nomad and what are its top alternatives?
Top Alternatives to Nomad
- Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. ...
- Apache Mesos
Apache Mesos is a cluster manager that simplifies the complexity of running applications on a shared pool of servers. ...
- YARN Hadoop
Its fundamental idea is to split up the functionalities of resource management and job scheduling/monitoring into separate daemons. The idea is to have a global ResourceManager (RM) and per-application ApplicationMaster (AM). ...
- DC/OS
Unlike traditional operating systems, DC/OS spans multiple machines within a network, aggregating their resources to maximize utilization by distributed applications. ...
- kops
It helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line. AWS (Amazon Web Services) is currently officially supported, with GCE in beta support , and VMware vSphere in alpha, and other platforms planned. ...
- Mesosphere
Mesosphere offers a layer of software that organizes your machines, VMs, and cloud instances and lets applications draw from a single pool of intelligently- and dynamically-allocated resources, increasing efficiency and reducing operational complexity. ...
- Apache Aurora
Apache Aurora is a service scheduler that runs on top of Mesos, enabling you to run long-running services that take advantage of Mesos' scalability, fault-tolerance, and resource isolation. ...
- Gardener
Many Open Source tools exist which help in creating and updating single Kubernetes clusters. However, the more clusters you need the harder it becomes to operate, monitor, manage and keep all of them alive and up-to-date. And that is exactly what project Gardener focuses on. ...
Nomad alternatives & related posts
Kubernetes
- Leading docker container management solution162
- Simple and powerful127
- Open source104
- Backed by google75
- The right abstractions57
- Scale services24
- Replication controller19
- Permission managment10
- Cheap7
- Simple7
- Supports autoscaling7
- No cloud platform lock-in4
- Self-healing4
- Reliable4
- Quick cloud setup3
- Open, powerful, stable3
- Scalable3
- Promotes modern/good infrascture practice3
- Custom and extensibility2
- Cloud Agnostic2
- Captain of Container Ship2
- A self healing environment with rich metadata2
- Runs on azure2
- Backed by Red Hat2
- Golang1
- Expandable1
- Sfg1
- Everything of CaaS1
- Easy setup1
- Gke1
- Steep learning curve15
- Poor workflow for development15
- Orchestrates only infrastructure8
- High resource requirements for on-prem clusters4
- Too heavy for simple systems2
- Additional vendor lock-in (Docker)1
- More moving parts to secure1
- Additional Technology Overhead1
related Kubernetes posts
How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:
Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.
Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:
https://eng.uber.com/distributed-tracing/
(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)
Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark
Our first experience with .NET core was when we developed our OSS feature management platform - Tweek (https://github.com/soluto/tweek). We wanted to create a solution that is able to run anywhere (super important for OSS), has excellent performance characteristics and can fit in a multi-container architecture. We decided to implement our rule engine processor in F# , our main service was implemented in C# and other components were built using JavaScript / TypeScript and Go.
Visual Studio Code worked really well for us as well, it worked well with all our polyglot services and the .Net core integration had great cross-platform developer experience (to be fair, F# was a bit trickier) - actually, each of our team members used a different OS (Ubuntu, macos, windows). Our production deployment ran for a time on Docker Swarm until we've decided to adopt Kubernetes with almost seamless migration process.
After our positive experience of running .Net core workloads in containers and developing Tweek's .Net services on non-windows machines, C# had gained back some of its popularity (originally lost to Node.js), and other teams have been using it for developing microservices, k8s sidecars (like https://github.com/Soluto/airbag), cli tools, serverless functions and other projects...
- Easy scaling21
- Web UI6
- Fault-Tolerant2
- Elastic Distributed System1
- High-Available1
- Not for long term1
- Depends on Zookeeper1
related Apache Mesos posts
Docker containers on Mesos run their microservices with consistent configurations at scale, along with Aurora for long-running services and cron jobs.
- Batch processing with commodity machine1
related YARN Hadoop posts
DC/OS
- Easy to setup a HA cluster5
- Open source3
- Has templates to install via AWS and Azure2
- Easy Setup1
- Easy to get services running and operate them1
related DC/OS posts
related kops posts
- Devops6
related Mesosphere posts
Apache Aurora
related Apache Aurora posts
Docker containers on Mesos run their microservices with consistent configurations at scale, along with Aurora for long-running services and cron jobs.
- It works across clouds and on-prem2