Containers are indeed cumbersome but what's even more cumbersome is software that work on your laptop, pass the tests, and fail in production for whatever reason such as a different software version of a dependency.
So I rather deal with containers. However never do kubernetes, it has nice features but it's not worth it for small and medium companies.
I disagree, Kubernetes is becoming a default choice. Small companies still want declarative config, load balancing and zero downtime deployments. It is so easy now to spin up a managed cluster and deploy an app, the complexity argument has been well addressed by the community and vendors
True. Perhaps you can upload to a temporary folder first, rename the old production folder to something else, and rename the temporary folder to the normal production folder. You may serve a 404 error if someone manages to do a request between the two renaming operation but I'm sure it's fine.
These two things run in conflict. It’s not about not dropping requests - It’s about a sane state and error reproducibility. If you drag the wrong file, there will be plenty of downtime...
True. But if you apply the wrong YAML file in kubernetes too. If your container has the wrong version too.
Anyway, I'm not advising for uploading PHP files through FTP on live servers in 2020, I took it as an example of something we used to do without kubernetes.
This is an oversimplification of the problem. You need to drain the requests to the old version then wait until the new one passes a health check before rerouting the traffic
So I rather deal with containers. However never do kubernetes, it has nice features but it's not worth it for small and medium companies.