Kubernetes to Nomad & Containers to Binaries with Waypoint

See 3 demos of the build, deploy, release workflow for a Node.js website using Kubernetes and Docker, Nomad and Docker, and Nomad and raw binaries—all with a HashiCorp Waypoint workflow.

This talk follows the story of a single small Node.js website as it moves from being deployed with three options:

  • Kubernetes + Docker
  • Nomad + Docker
  • Nomad + Pkg (raw binary)

What You'll Learn

By comparing these three setups, you'll learn a few things about:

  • The power of abstractions
  • The value of a unified workflow
  • The difference between creating an opaque interface (e.g., k8s job and container images) and reasonable defaults (e.g., Waypoint overrides)
  • How K8s was able to pull out the docker runtime without any change to the developer workflow.
  • How the level of abstraction HashiCorp Waypoint offers allows for even larger "under the hood" refactors, such as migrating from K8s to HashiCorp Nomad.
  • How Nomad's pluggable task driver model means you can change even more things under the hood.
  • A look into what it would take to completely get rid of containers without compromising on the feature set.
  • How using Waypoint and Nomad makes the large change from containers to binaries relatively low impact on the developer workflow.


The main takeaways are:

  1. Abstractions are useful ways to separate problems and sometimes eliminate them completely.
  2. Layering on abstractions for a decade can lead to cruft and vestigial details.
  3. Reexamining abstractions is a healthy part of software architecting.

Speaker: Michael Lange


More resources like this one