He has written multiple deployment options. Kubernetes, Docker swarm, bare VMs, etc. He has tested all of them and written installation tools that can deploy to any of them.
For exactly the reason you imply, he doesn't trust any of these options to always be available. I think this mentality has a lot to do with why his service scales so well.
There's more to building a long-term, sustainable business than optimizing revenue at any cost. And part of that "more" is exactly the work you to do insure against future risks.
The old saying that no one ever got fired for choosing IBM could be applied equally to AWS. The companies that chose IBM in the 70s and 80s can still buy new compatible systems. The companies that chose Stratus or VAX, not so much.
Even businesses that chose Microsoft technology in the 90s when they were the clear leader have had a relatively painless upgrade and support path. They abandoned VB6 15 years ago, but you can still wrap your VB6 code as a COM object and interact with C#.
I’m saying that it is the safer bet to go with the largest provider with the largest customer base. In the 80s that would be IBM, in the 90s, MS over SUN (and the royal claustrof%%% that Java has become under Oracle) or Borland.
Let's look at yesterday's equivalent to AWS- Sun Grid. Sun was viewed back during the first dotcom era in much the same way that AWS is today. All that it would take to completely bork it would be an economic catastrophe that mirrors the first dotcom bubble. Obviously, Sun Grid is no more.
[1] https://news.netcraft.com/archives/2004/11/16/solaris_remain...
You can still buy Solaris based systems today but you would have plenty of time to migrate. But seeing the writing on the wall you would have plenty of time to migrate.
I think you're committing something of a "fallacy of the excluded middle" here. Those aren't the only two things that can happen. AWS could, for example, continue offering the service but not to you. We've already heard stories of AWS accounts being closed for various reasons, and it's hardly a stretch to imagine a CloudFront / Daily Stormer kind of scenario where Amazon decides to punt you for taking an unpopular political position, etc.
I would even say that your company going out of business is a bigger risk than depending on AWS.
I would say that I disagree, in at least some cases.
Whatever his salary is as an engineer, he is definitely underpaid.
[1] I would much rather work on a work related project using a new to me technology and if it requires longer hours to complete it, I’m find with putting in the extra time. It seems like more of a win, I get to learn a new technology, get to see it actually be used by others, and it will be helpful during either review time or worse case a resume builder.
Screwed? Maybe, maybe not. At risk? Abso-fucking-lutely. There are plenty of stories out there of companies who had their AWS accounts shut-down for some random reason, plenty of stories of AWS outages, etc. Even if Amazon does't pull a "Smyte", there's plenty of risk associated with being on (or "solely on") AWS.
By and large, anytime you are completely dependent on someone else's platform, you are increasing risk by putting your destiny in someone else's hands.
At the moment everyone is trying to do a land grab, but once that phase is over and the market consolidates on 2 or 3 cloud providers and sysadmin skills have disappeared we'll see what a disaster it is.
And if that happens people (I'm looking at YOU, software and devops engineers, with your damned sketchy business cases, desperate to move projects onto AWS mostly so you can bolster your CVs) will only have themselves to blame.
Fortunately I suspect there are enough of us jaded and sceptical types around to avoid it.
If they aren't, either they're incompetent, the CTO is, or you don't really have a company yet.
https://github.com/terraform-providers/terraform-provider-aw...
If you are a small company, the difference isn't worth the risk and the expense. If you are a large company you can probable negotiate with Amazon.
That doesn't even take into account all of the dependencies that your developers have taken on AWS services....
I think you are confusing "agnostic" with "compatible with lots of different providers", but will require a total rewrite if you want to switch providers.
Two things about that -- hardly anyone ever changes infrastructure just to save a little money and their code has to be so generic that they can't take advantage of all of the features of the platform.
The chances are far greater that your company will go out of business way before Amazon stops offering AWS. Theory is great that Terraform allows you to seamlessly move infrastructure between cloud providers, but the amount of risk and regression testing it takes to do so would make it a non starter for most companies.
This isn't just about cloud provider lock-in, but something you need to do to have a good DR strategy.
Back on that Christmas Day that Linode got DDOSed, my company was 100% on their infrastructure. I only had to work a couple of hours that day because I had worked and planned in advance to launch our infrastructure on another host. I saved my company from a multi-million dollar loss that day.
If all you're doing is hosting a bunch of VPS's, you're really not saving yourself too much over just using a bunch of colocated servers. You can also get much cheaper, less reliable, less geographic diverse hosting somewhere else.
But I would have my head handed to me if I even suggested to a company to base their entire infrastructure on Linode instead of AWS, Azure, or even GCP.
Managing tens of millions of dollars in physical and cloud infrastructure at multiple providers/dcs for a publicly traded company like I am now? No, that's not the reason to use cloud infrastructure at all. Cloud in this case is more about capacity planning and avoiding managing hardware inventory than anything.
I know their video encoding platform is heavily tied to AWS because the teams that built it optimized for cost (which for them makes a certain amount of sense) and they massively parallelize the encoding work. I talked to some of their engineers at re:Invent last year and it was kind of interesting. They aren't using a lot of AWS-specific stuff though, just AWS EC2 reserved instances.
I don't think that just because they're Netflix that everything they're doing is correct. This can't possibly be true.
I dare say the AWS sales pitch is even more effective at that level: "Increase your agility, reduce your operational overhead, scale out with the push of a button. Be like Netflix and Apple."
Most executives aren't well-equipped to probe the sharp corners that aren't in the pitch.
Does your business depend on Amazon Transcribe (or any other AWS-only service)? Do you have engineers competent to turn around an equivalent product for you in a short release window? No? (Don't lie to yourself. It's no.) Congratulations, you are now Amazon's bitch.
I (as the sole programmer) made that decision early on.
AWS is a none starter because of the gradual vendor lockin (also nature of our business means growth/scalability is very easily predicted).
But their business is built on providing this service. At what point would Amazon, Google or Microsoft say "we don't want that $xB in revenue, just turn it off. NOW!
Is that what you're suggesting is the future?
More seriously I can see cloud going the way of telecoms in that there would be a provider of last resort if a telco goes bust another operator takes over to provide service.
Of course, it's a competitive market, so the other two providers would eat their lunch.