If you have a stable set of instances and a known lifetime for them, then, before trying to calculate whether AWS or GCP is cheaper, step back and plug those same numbers into a regular non-cloud DC managed-hardware-leasing pricing page.
If you have a stable set of instances and a known lifetime for them, then, before trying to calculate whether AWS or GCP is cheaper, step back and plug those same numbers into a regular non-cloud DC managed-hardware-leasing pricing page.
You have to factor in the total cost of ownership (TCO) to make a fair comparison, which in almost ALL the cases, you are more than likely to overspend on bare metal boxes on your own DC. Some of the TCO components are:
- DC staff salaries
- Electricity
- Networking bandwidth
- SLA guarantee (yes this a hidden cost, e.g. if your DC power is out, you owe your customers fees depending on your SLA).
- etc.
But Amazon and GCP can go down too and their SLA does not necessarily fully insure against your SLA.
The crux of this is how do you compare in managing site reliability. Perhaps you have a world class team you could do that better than yes my point there is moot. But 99% of the time, it's not.
And, frankly, your parent was being generous. Even if you only look at elastic workloads, the workload has to be a) extremely elastic and b) not fall into some pretty common patterns for cloud to make any kind of sense.
Also, many have been in operation since before AWS was a thing, and some are larger. So I can't imagine what AWS knows about running a datacenter that others don't.
Now maybe in theory if you can build something to be fully one with the cloud, considering all edge cases, and limiting yourself to only cloud-zen tools (or building your own, or doing vendor lock in). In theory, with enough money, I guess the cloud lets you maybe achieve higher reliability.
The fundamentals of EC2 (lack of dual NICs, dual power supplies and BBU RAID + virtualization and general complexity) means that a single instance is way less reliable (let alone, much worse value) than a single dedicated box. The complexity you need to throw on top of that building block (in the shape of lock-in, compromise, money, latency, application complexity or a combination of these) is pretty significant.
Building out your application across multiple regions in AWS is not much different than using multiple DCs from a managed host. The clouds provide live migration, spot instances, and fast global VPC networks that can make it much easier, but you also pay the premium for it.
You know, the primary offering of DC providers like Softlayer, Hetzner, etc.
With a managed service, "utilities" (salaries, electricity) are factored into the lease. And bandwidth, as it turns out, is cheap-enough that many DCs will give it to you unmetered, since you can't use enough through the limited links they give you to dent their uplink.
Now SoftLayer I'm not so sure about - interested to hear from anyone offering services to say, gov or health from managed hosting and how that compares cost and experience-wise to AWS, Azure, GCP.
The first two that I looked at, Hivelocity and ReliableSite both seem to have a number of certifications, as does our current provider, LeaseWeb.
Is there a specific certification that's really sets AWS/Azure/GCP apart?
Also, there are a lot of things that the big cloud providers manage for you. I haven't dealt with DC managed-hardware, but I imagine that you probably have to do a lot more to set up networking, provision VMs on raw hardware, etc.
I do but I don't even know how to assemble my own computer, much less deal with bare metal for servers. I want to stay as far away from hardware as possible.
I don't know how cloud providers even measure the CPU-time. Probably from VMs. What about services like logging, health-checks and load balancer? Is there a position for that too?
At the end of the month I get an invoice from my providers that say that I needed X processing power. I have to believe it and just accept the price if it is worth it.
I am sure there is elaborate performance monitoring software out there, but I doubt many developers really verify the bills they get.
Providers could just randomly add a few dollars on my bills and I heavily doubt that I would notice. Not wanting to give them any ideas here...
So a rented server in the end gives you much more control about unknowns related to costs. Doesn't mean it has to be cheaper and is as easy to maintain.