This is the nature of cloud computing. If you can’t handle downtime you need multiple machines behind a load balancer. If you can’t handle data loss you need backups or data redundancy or both.
It’s not a question of “if” your server will disappear; it’s “when”.
Yes, Azure won’t give you an uptime guarantee of any kind unless you have at least two instances.
What surprises me most about this is that the author is surprised about commodity hardware failing. I remember hardware breaking all the time when I was younger, quite a large number of rotating media failures (cd-r, floppy, magnetic disk) and a few motherboard failures from old workhorse computers, and came to take for granted that consumer electronics could fail.
I don’t have any consumer electronics for as long as I did when I was younger, so perhaps the nature of the upgrade cycle insulates one from such infelicities.
It does sort of point out a distinction between building out your own server and renting cloud time. When building out a single server people often spend (lots of) extra money on “reliable” components, with the view that maybe it will help uptime. Whereas if you have 100000 servers in a data center you’re just going to expect a few to fail every hour no matter how “reliable” the components, so why spend the extra cash on something you’ll just replace anyway?
I’ll read between the lines and infer that the server that they lost was hand-crafted and that’s why he needed to recover from a backup and not just fire up and configure a new one from scratch in a few minutes. This read like something written before devops existed.
No need to read between the lines, he says as much. It’s a PHP based web server running the Laravel framework. This doesn’t preclude the use of configuration management at all, but it’s probably an indicator that this person should be using a hosted service (Does Heroku do PHP? :) rather than trying to maintain a VPS. Either that or they need to invest the time in upping their game.
Just FTR, if you have to use PHP, I would definitely recommend Laravel. If I were him I would run it on OpenShift since they have Laravel cartridges ready to deploy with all the dependencies necessary.
Seconded. Laravel brings a ton of reason and quality patterns to PHP.