Does it mean you work directly on the remote system?

I suppose the split on a development and storage environments is just for convenience. Depending on the size of the data you deal with, the database servers might consume different amount of available resources. This is probably not a problem in average case though. Also the development environment is probably abused more than storage one, so when one breaks it — and I am sure they will — it can be nuked and recreated without any consequences.

Is using Docker for any server management activities these days considered an ultimate virtue or is there any visible advantage over more traditional approaches? Docker starts to feel more and more like a snake oil, because everybody seems to fail to answer that question. Immutable infrastructure and automation can be achieved in many different ways without Docker and considering some Docker pitfalls I would risk to say that the answer to my question is: no.

On a separate note, I think since Docker containers don’t run Linux init process they should be renamed to “containers” or just processes.