Yeah, that was my one gripe with the comment. If you've already invested in creating your own infrastructure like Twitter has, moving to a public cloud is throwing money down the drain.
OTOH, continuing to develop that infrastructure may be continuing to place money on a losing bet... If they're actually running their own infra cheaper than cloud would allow, they should absolutely keep going with their own. But it's foolish to keep doing something simply because it's what you're already doing.
AWS/GCE are not cheap. They're cost-effective for certain classes of use-case, but beyond a given scale, or with certain base-level requirements, you're way better off colocating a bunch of a machines.
My understanding is Netflix uses AWS for their infrastructure. Are they not on a similar scale as twitter with similar needs? Or is there a difference I am not seeing, perhaps a different use case. (This is a serious question, I am not doubting you.)
I believe that Netflix mainly uses AWS because their needs tend to surge dramatically at certain times, so that if they built their own worldwide server network, it would have to be vastly over-provisioned for when people get home at 7 PM and start streaming.
Plus they were a pretty early-adopter of AWS, and they have a ton of infrastructure running on it already.
You misunderstand my comment. Understandably so, I can see I wasn't as clear as I should have been. Let me clarify: Twitter has already spent a lot of money developing their own infrastructure. They now get to enjoy significantly cheaper ongoing infrastructure costs versus the cloud, as per the sibling comment. Moving to the cloud would be "throwing money down the drain" because they would have to invest significant resources into the migration and only have an increased monthly server bill as a result.
Generally, at any scale over ~500 computers that run continuously, investing in private infrastructure is going to be 1/2 to 1/5 the cost of public cloud, including people costs. The real levers for improving engineering spend are around complexity of your actual serving software, which doesn't depend on / isn't really influenced by who you buy your computers from.
I don't buy that claim at all. No way you're building private infrastructure for 1/5 the cost of Azure or AWS. Or even 1/2.
If you're comparing some servers in a 4th tier colo with a poor SLA to AWS and pretending that devops time is free, then sure. But if you're actually building something with comparable reliability and availability, then no way. You're going to spend a lot more than you'd expect on extra capacity, a team of service engineers, load balancers, multiple locations, etc.
What availability does Twitter actually deliver? I might be getting mixed up with reports about other sites or biased toward older events that happened when Twitter's architecture was less mature, but it seems like it's at least a semi-regular victim of "break the Internet" phenomena.
Twitter hasn't gone down in ages. (At least 2-3 full years.) It's reliable enough that hundreds of sites use Twitter as their "if our site is down, check for updates here" alternative.
> It's reliable enough that hundreds of sites use Twitter as their "if our site is down, check for updates here" alternative.
This has nothing to do with twitter's reliability. It just means companies have said twitter is more reliable than they are so look for our update on twitter opposed to some company specific system status page.
You're severely discounting the very large margin those companies take. It is not hard to build a medium sized infrastructure, with quality, cheaply - if you have access to expertise. This usually means hiring a few infrastructure jockeys from the larger companies.
Your SLA will likely be better than with public cloud.
You should absolutely build a public cloud competitor if you believe your numbers. By your numbers you'd make a minimum 100% margin and as much as 400%.
Unfortunately two things in the way of that are will and the cost of building a long tail of product features. First, that I'm not interested in running a standalone business, and second - my research here (it's been a lot) depends on being able to spend 20% effort on an 80% solution. I don't build a dynamo or a SNS and don't need a sales and marketing budget when I'm embedded in a large company building something purpose-built. The overhead of normalizing for industry wide generic use cases kills the 500% dream.
There's obviously room here though because AWS definitely takes a margin and that means opportunity!