PaaS is a developer self-service platform that automates as much of the infrastructure deployment as possible allowing developers to simply build an app and deploy it without requiring additional infrastructure configuration.
Here are a few characteristics of offerings which disqualify an application as a PaaS: If you can’t supply application configuration at deployment time, if you have to configure an ingress (or proxy), if it doesn’t give you a DNS name, if it doesn’t generate SSL certificates and if it doesn’t provide a developer workflow.
An app developer should not have to deal with low-level infrastructural changes that impact the PaaS, the underlying platform, and the security of the broader network.
If an app developer receives just an IP address after deploying an app, that developer will immediately become an operations engineer dealing with DNS.
SSL is a tables stakes feature for any HTTP-based app and if the system doesn’t issue certificates at app deployment, it is not a PaaS.
Steps 1 and 2 seem to be ignored by some tools that claim to be PaaSes, while the absence of step 4, which handles upgrades to an application, forces the developer to do infrastructure finagling that is unnecessary.
Fermyon Cloud is a PaaS that does not violate any of these terms, automating networking, DNS, SSL, configuration, and deployment management.
As an industry, we should strive to maintain standards and not play fast and loose with our terminology, lest we revert to a less developer-centric age.
The promise of PaaS is that it can automate much of the infrastructure deployment process and allow developers to focus on building apps, not on configuring infrastructure.
Let’s work towards building better developer self-service platforms, leveraging PaaSes’ v1’s example to ensure that new PaaS offerings do even better.