The problem with bare metal is quite sophisticated contingency plan for physical failure. With VMs when any one of them fails - you just re-run your Terraform/Ansible scipts, restore backup (if it was a stateful VM that failed) and voila, you are up and running again in minutes.
You have to provision a new server first, preferably the same or better configuration. And then restore all backups, because probably all your components didn't scale beyond one server yet.
No? Terraform can do all of that for me. I can order (and get it delivered), install, configure, and restore from backup with terraform in less than 2 minutes.
Hetzner has an API for ordering dedicated servers after all, and an API for installing an OS (or for rebooting to rescue and flashing whatever image you want)