To your third point, I scratched my head and looked suspiciously at Docker from a distance for years, but since I've started playing with it, I absolutely love it and would not go back. Every dependency that you need is wrapped up in a single image, so installing the application is as simple as pulling the image and booting up a container from it; no worries about conflicts with other services, broken or conflicting dependencies, or breaking something later on when you make other changes. Don't like the exact installation and want to make your own? Make or modify a dockerfile, and build a new image. Want to upgrade? Just destroy the container and create a new one with the updated version - all your data, config files, etc. are (or should be!) in separate volumes from the container itself so you lose nothing, and in fact you can easily experiment with different releases, or rollback if something goes wrong. For myself, I treat all my containers as ephemeral and always recreate them whenever I restart them - it costs nothing and I know that the system is easily reproducible. Speaking of volumes, backups are a breeze - all my Docker volumes are just subdirectories of /docker/volumes so all I have to do is back that up every night and I've got a complete copy that I can instantly restore (or clone!). It really is incredibly convenient.