The folks at Heroku are also famous for having helped promote the concept of dev/prod parity via The Twelve-Factor App.But how to actually achieve dev/prod parity when using Heroku?I see three big options to go about it:Merely install the same version of what you need on your development laptop. This seems to be what the docs suggest (e.g. here) but then what about the OS? Do we not just care about the OS in terms of dev/prod parity?!Use Docker (or a similar VM/container approach) to install as close a setup in a contained environment locally. If so, once deploying: should I use Heroku's limited support for Docker, or should I just use the default way to deploy to Heroku?Run development on Heroku itself, by having a development configuration there, in addition to staging and production. But then one couldn't work offline anymore.What do people use and why?I'm trying  to improve my practices and stick to the Twelve-Factor app model but I'm not certain as to whether or not use Heroku. I sort of fell in love with Docker but (after reading this and about the challenge of working with databases in prod) I'm questioning just how sensible a choice it is when comes time to deploy.
How to achieve dev/prod parity when working with Heroku?
development process;deployment;heroku