3 ms·
Let's be real on high availability. If you are honest with yourself, on the cloud that doesn't mean 2.. AWS regions but 2.. cloud providers. It's a yearly occur
by revelation 9y ago
Let's be real on high availability. If you are honest with yourself, on the cloud that doesn't mean 2.. AWS regions but 2.. cloud providers. It's a yearly occurrence now that 90% of SaaS stop working because AWS is broken, and it's not any of the actually redudant parts like power supplies that are broken, but because a human pushed software or configuration and the whole thing came crashing down.
- laumars 9y agoIdealistically I agree with you but pragmatically I think more than 1 cloud providers isn't really worth the effort. It's not often that a whole region goes down but even then I can't recall when the whole cloud platform last became inaccessible - usually it's just a region. But once again it comes back to SLIs and client expectations.
- marcosdumay 9y agoBut then, "more than 1 cloud providers isn't really worth the effort" and "2 bare metal instances isn't HA. Not even close." are really incoherent. Two machines with two internet connections and a good UPS easily match the availability of AWS.
- laumars 9y agoNot really as HA on physical hardware would be more like 4 machines if you factor in DB plus 2 stacks of switches. But really if you're running HA then you'd probably want 3 web servers rather than 2 so you can perform maintenance and still have redundancy. Which means you'd also need 2 load balancers and some method of code deployment, which will usually mean at least one other box or SAN. If your application is database heavy with lots of reads then you might also want memcache / redis. Or maybe other caching servers like varnish. Bare in mind that if your site is slow and unresponsive then it's as good as unavailable. This is all in one physical location as well so you'd need to double this spec again. Then once you've built all of that, you'd probably want to put it behind a CDN as leased lines are expensive. Only then you're starting to reach feature parity with what I've described in my first post and there will be lots of kit I've not even touched on. However even if you do just run 2 VMs (web and db) on each of the 2 physical boxes, and don't need redis etc. You still need to double your spec just for the multi-region point I raised earlier.