Years ago I was making the case that instead of digging ourselves into the Amazon eco-system with S3 storage, EC2 instances, DynamoDB and various other Amazon specific cloud products... we should just host virtual machines and have everything in there using open source products.<p>People looked at me like they saw water burning but that would have made the dependency on the US a lot easier to sever. Just move the VM's.
I've operated at companies using both models, and have observed similar reactions to suggestions of using the cloud.<p>To me it's like anything else in engineering, are the costs, risks, and benefits fully understood, and worth the tradeoff in the particular context.<p>I worked for a startup doing internet of things, the consumer would buy a device and get lifetime service baked in. And that company was a step further, just renting space in a colo was incredibly cost efficient, which supported the sales model and competitive landscape of that product. But it was also very costly to attention, one of the most valuable resources. But it can also get costly in non-intuitive ways, an example that comes to mind is we started to get interviews where a generation of candidates no longer had experience with metal, it was a foreign world to them.<p>With more experience, I find it's really the costs that get severely underestimated, both for and against the suggestion.
I am running my startup out of a self build GPU server from our office with a backup to the cloud.
I only pay for the IP address as electricity is included in the rent.
If the startup fails, Ill have thousand other potential use case for it and in the worst case, it will make for a awesome gaming machine.<p>The machine is a beast and I can serve a lot of users with it. In fact, and quite funnily, I already serve much more users with it than a lot of my older clients do with their software running on expensive k8s setup because „scale“ :-)<p>And last, but not least, I had a lot of fun building it. Its just nice to hear that thing humming away in the corner.
The whole business model is around “Optimization through custom tools”.<p>We can go with your idea, sure: a few months in, an Account Manager from the cloud provider shows up and says your bill could be reduced by 50% if you just adopt some changes, using their custom, super optimized tools (“minor changes” will be the mantra).<p>And now you have your own company looking back to you on how can they get those savings, people who don’t understand what a VM is and cannot differentiate salesforce from an elastic container, as everything is “cloud”, but heard “50% off”.
Preventing this from happening requires a clued-in CTO and equivalent senior level leadership who can defend against such 'attack' methods and knows the difference between, for instance, paying a monthly recurring cost to host a Linux/KVM virtual machine and paying for some totally 'cloud' SaAs.<p>Further, it needs people in decision making roles who understand and value the strategic differences between having an infrastructure concept that is trapped in one provider's proprietary software tooling ecosystem (aws, azure, etc), vs things built on open standards that are portable.
> Preventing this from happening requires a clued-in CTO and equivalent senior level leadership who can defend against such 'attack' methods and knows the difference between, for instance, paying a monthly recurring cost to host a Linux/KVM virtual machine and paying for some totally 'cloud' SaAs.<p>And the reality is eventually you'll get a clueless one, and everything will revert to the mean.<p>And the mean is heavily influenced by marketing propaganda.
Do people actually take claims like that from glorified salesmen seriously?<p>If a car salesman told me I could save 50% of my fuel bill from driving their special car a certain way I'd laugh at them.
You are missing the timeline factor here.<p>2016 - lets use EC2, its just VM, we can move off<p>2018 - I see you are hosting your own PostgreSQL in EC2, you can use our managed solution<p>2020 - you are already using 18 our services (note, at this point you might still be using non-vendor products, like VMs, managed DB, and so on), why not use our IAM instead of rolling out your own auth.<p>2024 - you are now deeply locked, lets add more lock-in, why don't you use this tool to optimize your costs (welcome DynamoDB)<p>At this point, no one would ever question next tool from salesman. Because engineers see that company doesnt have strategy to move to another cloud, why should they reject this new tool?<p>also consider the people who are involved, a lot of times after 2 years you have totally new people in your team, they won't have context and constraints you had in the past when deciding to buy "just VM", they see it as "we already use AWS"
I had many conversations with a former boss about the Azure sales team. They would come in, say they can do it cheaper, simpler and better — he was immediately convinced.<p>I would do a calculation based on their public price plan and come up with a 5-10x price compared to the bare metal OVH solution that perfectly fit our use case. I would then ask the sales team where I made a mistake in my calculation and hear nothing back.<p>A few months later, they would come back with the same pitch and the whole process would repeat...
I save 75% on electricity vs diesel
They're probably not wrong, if they're talking about hypermiling a Prius
You'd be wrong to laugh at them, because different cars of the same general size can indeed vary 50% or more in fuel efficiency. It's fair to be skeptical of promises of huge savings, and question why your counterparty would benefit from giving you those savings, but sometimes there's a good reason.
> Do people actually take claims like that from glorified salesmen seriously?<p>People who know the tech, no<p>Non-technical middle management types, yes. It produces revenue when done aggressively enough, google "solarwinds sales people" for many anecdotal examples of extreme persistence. Not that I agree with it.
S3 has become a standard outside of AWS but everything else can be done with open tools except IAM which is always a pain anyway.
I prefer not using managed services but I kind of understand the appeal. Instead of paying several engineers, that you have to vet first, to configure and maintain the services adjacent to your product you can just pay AWS or Azure or someone else to maintain the service. Then you can concentrate your whole manpower on your product. In case the service goes down you can blame someone else and maybe even recover some money. On the other hand it of course makes you dependent on the provider.
> Instead of paying several engineers, that you have to vet first, to configure and maintain the services adjacent to your product you can just pay AWS or Azure or someone else to maintain the service.<p>Your engineers who all have to possess AWS or similar certs before you hire them, work for free?<p>A move off VPS to managed services doesn't reduce your headcount or labour costs.
What you’re describing is outsourcing. It’s still possible with on-prem or cloud VMs. You just hire a contractor provide those services.
In my experience it doesn’t take long until you use such complex offerings from the cloud vendors, you need those ops engineers anyways. Just with slightly different skillsets.
For those who grew up with aws and other cloud providers this is the only reality they know of, after all.
There was a period when development and system adminstrators were really concerned about vendor lock in and would choose on the basis of the ease of moving to a different platform, Java and J2EE was clearly based on this mindset. I have always found it odd people have been willing to adopt AWS with no apparent easy route off given its price.
Still is, nowadays the standard is Jakarta EE 11, alongside Microprofile, which Spring also uses parts of.
This is great, your suggestion to replace s3 and ddb is to run some VMs?<p>I don’t blame people for being skeptical
Projects like Ceph and Minio have existed for years, though?<p>Beyond that, I just don't understand your point of view at all. Do people unironically think there is some super special dark magic being done in the bowels of Amazon, as opposed to just...code that runs on (virtual and physical) machines? The open source community yielded <i>Linux</i> but it's just sooo impossible for it to yield an object storage service? What a strangely shackled view of the world.
> This is great, your suggestion to replace s3 and ddb is to run some VMs?<p>Well... yes?<p>What do you think the AWS S3 and DDB is running on? Fairy dust?
Yea, op just handwaved away all scalability. Guessing their response would be 'launch more vms'.
s3 is kinda hard to replace if you actually use it; the rest is manageable with varying levels of pain
This would only work if you have a solid devops team imo. AWS makes it extremely easy to deploy and scale infra.<p>Another advantage of AWS is permission management, automatic RDS snapshots, cloudwatch comes out of the box...<p>You can do everything with VMs, but in practise it's probably much harder.
Most cloud VMs have network-attached storage working through a billing layer, and its IOPS numbers are pathetic. This makes running your own DB in a cloud VM much less reasonable. Now you can use local NVMe, but you still have to set up your own failover.<p>The original promise of the cloud is "you pay us less than you pay your sysadmins", which is not entirely unreasonable, <i>especially</i> at early stages.<p>Of course running on bare metal from Europe's own Hetzner is even more cost-efficient, if you already have a lot of sysadmin chops.