One thing that has irked me about everyone's flippant comments about moving to the cloud is that the "devops as a recovery mechanism" generally only works for single-app startups or small shops with only a few dozen simple VMs at most.<p>Some of my customers have <i>thousands</i> of VMs in their cloud, and they aren't cloned cattle! They're pets. Thousands upon thousands of named pets. Each with their individual, special recovery requirements. This then has a nice thick crust of PaaS and SaaS layered on top in a tangle of interdependencies that no human can unravel.<p>Some resources were built using ARM templates. Some with PowerShell scripts. Some with Terraform. A handful with Bicep. Most with click-ops. These are kept in any one of a <i>dozen</i> source control systems, and deployed mostly manually by some consultant that has quit his <i>consulting company</i> and can't be reached.<p>Most cloud vendors "solve" this by providing snapshots of virtual machines as a backup product.<p>Congratulations big vendors! We can now recover exactly one type of resource out out of <i>hundreds</i> of IaaS, PaaS, and SaaS offerings. Well done.<p>For everything else:<p><pre><code> WARNING: THIS ACTION IS IRREVERSIBLE!
</code></pre>
Fantastic. No worries though, I can... err... export the definition, right? Wrong. That doesn't work for something like 50% of all resource types. Even if it "works", good luck restoring inter-dependent resources in the right order.<p>Okay, you got things restored! Good job! Except now your DNS Zones have picked a different random pool of name servers and are inaccessible for days. Your PaaS systems are now on different random IP addresses and noone can access them because legacy firewall systems don't like the cloud. All your managed identities have reset their GUIDs and lost their role assignments. The dynamically assigned NIC IP addresses have been scrambled. Your certificates have evaporated.<p>"But, but, the cloud is redundant! And replicated!" you're just itching to say.<p>Repeat after me:<p><pre><code> A synchronous replica is not a backup.
A synchronous replica is not a backup.
A synchronous replica is not a backup.
</code></pre>
Repeat it.<p>Do you know what it takes to <i>obliterate</i> a cloud-only business, permanently and irreparably?<p>Two commands.<p>I won't repeat them here, because like Voldemort's name it simply <i>invites trouble</i> to speak them out loud.