SAN FRANCISCO -- Nomad vs. Kubernetes is a hot topic, despite the fact that HashiCorp's founders say the two tools...
can be used together for IT orchestration.
Nevertheless, HashiCorp plans to emulate Kubernetes-as-a-service platforms from cloud providers, so that IT pros can use Nomad for IT orchestration as easily as Google Kubernetes Engine (GKE) and other turnkey Kubernetes services.
"Nomad is still much easier to use than Kubernetes, but today we ask that customers first deploy Nomad to get that ease of use," said Armon Dadgar, co-founder and co-CTO of HashiCorp, in an interview at HashiConf here this week. "What really helped Kubernetes get massive adoption was things like GKE. ... We think having a Nomad managed offering is a huge piece of [its future adoption]."
Dadgar didn't offer details about what a Nomad managed service would look like, except that users would "push a button and get a Nomad environment." He also did not offer details about when the service will be available.
Both Nomad and Kubernetes schedules container workloads, but Nomad can also schedule workloads on bare-metal and virtual machines. Kubernetes provides a storage and network platform for containers, while HashiCorp has shied away from a similarly extensive infrastructure platform. Nomad also does not do service discovery or secrets management -- it leaves those capabilities to HashiCorp's Consul and Vault, respectively. HashiCorp's founders argue that this makes Nomad a lighter-weight, higher-performance scheduler for workloads that Kubernetes doesn't address, such as high-performance computing applications.
Still, HashiCorp Nomad must catch up with some of Kubernetes' container scheduler features, some of which Nomad matched in its 0.9 release this week. Nomad 0.9 adds support for affinity between jobs and certain classes of hardware, such as GPUs. It also can spread workloads across cloud availability zones and allows preemption of low-priority workloads if a higher-priority workload must wait for an available node.
HashiCorp's Consul service discovery software, often used in conjunction with Nomad, also embraced Kubernetes more fully with its 1.4 release this week. Consul 1.4 added support for the Envoy sidecar proxy favored by Kubernetes users for service mesh networks, and a direct connection between Consul's service discovery database and its Kubernetes equivalent, etcd.
Nomad vs. Kubernetes debate takes center stage
HashiCorp officials want to dispel the notion of a total Nomad vs. Kubernetes rivalry, but that perception persists among IT shops that use HashiCorp tools. Few of the HashiCorp customers who presented here this week use Nomad and Kubernetes together, and for those that do, it's not an even mix.
Rick RackowSRE, eBay Classifieds Group
Minneapolis-based retailer Target, for example, uses Nomad as its main container scheduler in a hybrid cloud environment that supports guest fulfillment on Target.com. This environment spans two Target-owned data centers, two Google Cloud Platform regions and several hundred store locations. The stores use Kubernetes, but Target does not use Consul at those locations, so the bridge between Nomad and Kubernetes is not relevant to the company, said Daniel Parker, principal engineer at Target, in an interview after his HashiConf session.
Target chose Nomad over Kubernetes, except in stores, because the company's security and compliance policies meant it could not use GKE, and Target engineers didn't want to manage Kubernetes themselves in the cloud or on premises, Parker said in his presentation. Nomad provided an easier way to schedule hybrid cloud workloads than internally managed Kubernetes.
"We already had a cloud architecture with load-balancer configurations that we didn't want to have to reintegrate with Kubernetes," Parker said. "Nomad also offered consistency -- we could use the same binaries in different locations without developers having to configure different Docker container images."
Another HashiConf presenter, global management consulting firm The Boston Consulting Group (BCG), heavily uses Consul with the infrastructure that supports a data science service it launched this week, but its engineers saw no need to combine Nomad with Kubernetes yet, said Allen Chen, principal engineer at BCG.
Nomad awaits Kubernetes disillusionment
Kubernetes' market momentum influences the skills of engineers who manage container infrastructures at eBay Classifieds Group's global motors vertical division in Germany. While eBay as a whole uses Kubernetes widely, this division uses Nomad, "but who knows for how long," said Rick Rackow, SRE for the DevOps team there.
Despite what look like long odds for Nomad right now, it's too early to declare total victory for Kubernetes.
"Kubernetes is still in the early adopter phase, and HashiCorp still has a chance to be an early mover and place itself somewhere in that ecosystem," Rackow said.
At large Global 2000 distributed enterprises that form HashiCorp's main customer base, containers and Kubernetes will never totally take over, and HashiCorp products could be a good hedge against ever-shifting technical trends.
"Five years ago, OpenStack was going to take over the world -- where is it today?" said John Mitchell, chief platform architect at SAP Ariba, a business procurement software company in Sunnyvale, Calif. "Three to four years ago, it was Cloud Foundry. ... The reality is that if you have a good architecture and processes, you'll incorporate all the best tools and continually evolve."
SAP Ariba will use Kubernetes where it's appropriate, but it will never put heavy stateful applications such as SAP HANA in containers or even VMs. Because the company's workloads will remain mixed, "Nomad will remain our default scheduler," Mitchell said.