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:
- Abstractions are useful ways to separate problems and sometimes eliminate them completely.
- Layering on abstractions for a decade can lead to cruft and vestigial details.
- Reexamining abstractions is a healthy part of software architecting.
Speaker: Michael Lange