I'd say it's even better than that. At my last company we used our own hardware, but we still benefited from Docker, Consul, Chef, graphana, etc. There's a lot there that is cloud-agnostic.
For example, service discovery is still service discovery. You still have, say, a hundred machines running the listeners API. Are you going to keep a manual tally of that? Or better to just start consul client from the ansible/chef provisioner, and let "dns" handle the load balancing. You can implement "connection draining" by downing the health check url before going offline on a node. Just one example, but yea, there's a lot of ease and maturity in the new services way of doing things now.
For example, service discovery is still service discovery. You still have, say, a hundred machines running the listeners API. Are you going to keep a manual tally of that? Or better to just start consul client from the ansible/chef provisioner, and let "dns" handle the load balancing. You can implement "connection draining" by downing the health check url before going offline on a node. Just one example, but yea, there's a lot of ease and maturity in the new services way of doing things now.