That sort of thing really benefits from the trivial and immediate server replacement you have from the cloud providers. (Something's wrong with Server-447? Just drop it and provision a new one, 5 minutes max.) But for simpler services that advantage is lost in the noise of manual software deployment/config/etc to stand up a new box.
That works really well for a simple web server, but in the real world of corporate applications, nothing could be further from the truth. First, apps must ships files between databases and themselves. In a private datacenter, that's over ethernet. In the cloud, it is often over disparate VPN connection, and worse of all, over your internet connection. How many companies willing to get a 10Gb ethernet pipe? Not many. So they get dedicated leased lines to AWS et al, otherwise their transaction times are atrocious. Then there's the hilarity of trying to print a file back in the office. Oops. Cloud is a one way solution. Those apps cannot see your printers. Or any of your internal applications. So you end up completely rewriting your processes and data flows. Now if you are using any shared storage, all bets are off. Each cloud server is its own little walled off environment, which means that using shared storage is right out. Now all those files have to be scp'ed back and forth.
Really, it's all just smoke a mirrors. The cloud is nothing but a big scam. Any CTO who pushes the cloud is just drinking the cool aid. The costs of those WAN connections, future price increases (everything costs rock bottom right now, that's not going to last), plus cloud provider lock in (just try getting your database out of AWS and see what hidden costs there really are). Ain't no one saving money moving to the cloud, but there are a lot of "cloud consultants" getting rich.