Docker for local dev environments. Easily 100s of hours saved from needless tinkering to get n services × packages working in harmony, all to have to do it again 3 months later after an OS update.
Seconded this. It's also saved many hours for me to pass development environment to colleagues or juniors.
Need postgre? Link to one service. Need mongo? Plop another. Rabbitmq? redis? No need to tell them to install those, just pass the docker compose file.
I use Ubuntu as my daily driver and apt packages are updated when upgrading versions. For example moving from 14.04 to 16.04 with `do-release-upgrade` made the default PHP version move from php5 to php7.