What you actually need to deploy a web app
For the overwhelming majority of applications, the requirement list is short:- A container, built from your source.
- Somewhere to run it, with HTTPS in front.
- A database, reachable by that container.
- Environment variables that are not in your repository.
- Logs, so you can see what happened.
- A way back to the previous version.
When Kubernetes starts earning its cost
The honest triggers are structural, not aspirational:
“We might scale later” is not on that list. Neither is “it is what serious
companies use.” A managed platform can carry a large amount of traffic, and
moving later is a smaller job than running a cluster you do not need yet.
Where Antideploy stops
Being specific, because a page like this is worthless if it only argues one way. Antideploy runs a single instance of your application. Not a pool behind a load balancer, and not an autoscaling group. That has real consequences:- In-memory caching and sessions work, because there is only one process. They are lost on every deploy and restart.
- Throughput is bounded by what one instance can serve.
- There is no rolling deploy across replicas.
The middle ground most people are in
Between “one container” and “a cluster” sits almost everyone: an application, its database, some secrets, and the need to get a fix out quickly when it breaks. The problems in that band are not scheduling problems. They are the ones this platform is built around:- Getting the container built without maintaining a Dockerfile.
- Getting migrations to run before the app starts rather than after it has crashed.
- Getting back to the version that worked, in seconds, when one does not.
- Finding out an application went down without discovering it from a customer.
What Antideploy runs your app on
Container sizing, cold starts, and the single-instance limit, stated plainly
so you can decide whether it fits before you deploy.