4 ms·
I don't have any special knowledge of google or facebook. (I worked at Yahoo for a while as a sysadmin, but that was some time ago) I have maintained web app
by lsc 16y ago
I don't have any special knowledge of google or facebook. (I worked at Yahoo for a while as a sysadmin, but that was some time ago) I have maintained web applications from the hardware up, and I have run co-location and VPS businesses.
But hosting hardware (or virtual servers) that other people run stuff on is a fundamentally different thing than running an application soup to nuts.
Like I was saying, if you own the app, there are all sorts of nice failover things you can do that makes the failure of one physical bit of hardware (or even a whole data center) not as big of a deal. This means you can put less effort into keeping your servers and datacenters up, and just keep more spare capacity around instead.
If you are renting hardware (or virtual hardware) for someone else to run an application on, transparently dealing with hardware failure becomes /much/ more difficult. I mean, especially with virtual hardware it's not entirely impossible to move people off a failed server, but all the methods I know of for doing so are extremely expensive, either in terms of infrastructure, licences, or complexity. (and usually all three)
I mean, at yahoo, at one point I fucked up and took out a data center. Now, I was on pager, sleep deprived and generally not performing well, but with a few commands, I was able to redirect all traffic across the country to another data center. Sure, my mistake cost the company quite a lot in terms of additional latency, but it was better than being down, right? It would be nearly impossible to do the same with a co-location or VPS company.