The database is the quintessential data dependency for any application. Databases in production environments tend to be performance sensitive and expect consistent and predictable performance from their underlying infrastructure. On the other hand, databases in dev/test environments need to be fast, agile and portable.
Due to this paradox, production databases are typically deployed on bare metal servers for maximum performance and predictability. This often leads to underutilization of hardware, idle capacity, and poor isolation. On the other hand, dev/test databases are deployed on VMs which are fast to deploy, improve hardware utilization and consolidation, are fully isolated, and are easy to move across data centers and clouds, but suffer from poor performance, hypervisor overhead and unpredictability.