»Waypoint vs. PaaS (Heroku, Vercel, etc.)

PaaS systems are full platforms that typically provide deployment, URL/DNS management, configuration, networking, and more. They enable you to quickly and easily deploy applications, get a public URL, scale up, scale down, etc. Heroku, Vercel, OpenShift, and Cloud Foundry are examples of Platform-as-a-Service (PaaS) offerings.

PaaS systems typically constrain the type of applications they can run. These constraints allow them to provide the rich featureset they advertise. Common constraints imposed by PaaS systems are listed below. Note that the specific constraints to vary by service.

  • By language - restricting only certain language runtimes such as Ruby, JavaScript, Go, etc.

  • By networking technology - restricting only HTTP services, not supporting gRPC, HTTP/2, UDP, or other protocols. You often cannot put your own load balancer or networking rules in place, either.

  • By services - restricting to only certain types of databases or other supporting services. You often do not have efficient access to cloud services.

  • By infrastructure - PaaS systems are typically closed-source, fully managed systems. They may offer different regions for deployment, but you may not be able to run them on your own infrastructure.

Waypoint is a tool that can be used to deploy to a platform such as Vercel. Due to the richness of features of platforms, the build, deploy, and release steps for Waypoint are typically completely deferred to the platform. Features such as Waypoint logs, exec, configuration continue to work.

Waypoint allows you to have platform-like features without the constraints of a traditional PaaS. However, Waypoint is not attempting to replace PaaS systems. Instead, the goal of Waypoint is to make it a more consistent experience to use a PaaS alongside other technologies such as Kubernetes.