This may be true for AWS but (in my experience since 2014) it is not true for Google compute engine. On GCE, VM instances automatically migrate when the host is rebooted, and VM availability and uptime is impressive. Also, on GCE, the default recommended disks are all persistent, since they are block devices mounted over the network; this wasn't the case years ago, but is now, and it is very impressive.
Disclaimer: my startup is in the Google startup program.
Glad you like it! Good luck with your startup.
Disclaimer: I work on infrastructure systems at Google :-)
This is common belief that is just plain wrong.
Servers can stay online for years without issues, same things on AWS and physical servers.
> They also have no (cheap) persistence across VM evictions.
I don't even understand that this sentence mean. You can start by explaining what is "VM eviction"?
Whatever it is. Physical servers have no soft of failover or persistence for when one server suddenly dies.
People started migrating from physical servers to virtualized more than 10 years ago (i.e. VmWare). AWS/GCE are not fundamentally different.
Sorry, you'll need to back that up.
Evictions are when your VM is booted off a physical machine to a different one. This usually happens when something in the the underlying infrastructure is undergoing maintenance (e.g., networking, power, kernel, physical machine, etc.)
VMs have to deal with servers dying plus evictions plus control and management plane failures, which significantly reduces the availability of a single instance. So strictly speaking, cloud instances typically have lower availability than physical machines.
> Physical servers have no soft of failover or persistence for when one server suddenly dies.
Servers suddenly dying is not the failure mode that requires persistence -- it's evictions. This is why cloud services tend to prefer external distributed storage systems to local disk, and a multitude of ways to quickly and automatically reinstall machines on instance turnup.
BTW, GCE recently started supporting VM migration (which you can opt into), where they attempt to migrate your instance to another physical machine without losing any state. There are still limitations to this, but for a lot of simple cases can work well.
There's still physical hardware down the chain that calls for maintenance. When the physical hardware require maintenance everything on top is fucked or need to be moved.
For planned maintenance:
- If you're bare metal. You cannot migrate to a working server.
- If you're virtualized, you have to stop the service and restart on another host.
- If you're virtualized on GCE or vSphere datacenter, they'll migrate the VM live while it's running.
GCE has supported live migrations for multiple years. VmWare supports that for about 10 years (yep, no kidding ^^)
> VMs have to deal with servers dying plus evictions plus control and management plane failures, which significantly reduces the availability of a single instance. So strictly speaking, cloud instances typically have lower availability than physical machines.
Bare metal servers have to deal with hardware dying plus evictions plus control and management plane failures, which significantly reduces the availability of a single server.
So strictly speaking, cloud instances and physical servers are the same thing. They both live on physical hardware.
As for "limitations", I mean we can't save you if the NIC or ToR fails, but we lose VMs really rarely. Feel free to ping me internally, and I'll point you at our dashboards.
Disclosure: I work on Google Cloud.
Why they don't back it up SLA promise then? Having a VM does not guarantee increased uptime. On premises virtualization can guarantee it,cloud cannot.
This is mostly luck of the draw, I typically have seen one VM failure out of 50 every 5-6 months on AWS. Ymmv.
Of course with EBS that usually just means "restart it".
This frequently trips people up. Cloud instances (typically) have far lower availability than physical servers. They also have no (cheap) persistence across VM evictions.
Prepare for an unpleasant surprise if you're blindly migrating applications from physical servers to cloud instances.