Just because I want lots of RAM, why do I necessarily need lots of disk and/or lots of transfer?
Or vice versa, why do I need to pay for lots of tranfer and RAM to get lots of disk?
I get that AWS has separate billing for data, but they still tie CPU, RAM and Disk space together, as do most “traditional” VPS hosts.
And even more confusing to me, is why anyone with any sense would pay for these things?
1. It keeps their billing simpler. They would have to (or otherwise make it up elsewhere) charge different rates for different resources, making it relatively confusing + increasing support costs.
2. Much easier to forecast resources. If you know that you can fit X instances of type Y on a box, or W instances of type Z, it's easier to understand when/where you will need more hardware.
It's not perfect, I agree, but if an ad-hoc VPS product was profitable I'm sure we'd have seen it by now.
That being said there are providers out there that sell it, and have been for years.
I almost get why big companies (Rackspace, MT, etc) don’t offer it - if you can make a schmuck pay $X hundreds and hundreds of GB of disk he will never use, just because he needs 4GB of RAM or a lot of transfer, in theory you can over provision the hardware.
What I really don’t get though, is the technically savvy people that think they’re somehow getting a reasonable service?
You have a server with some disks, some ram and some cpus. You aggregate the disks together, then split them to form the individual disks for the virtual machines. You then use kvm/xen to provide isolation as well as to split the ram/cpu between the virtual machines.
So to answer your question: Storage/ram/cpu is sold in lock step because otherwise there would be resources sitting on servers that are unable to be sold. Bandwidth isn't constrained like that because bandwidth isn't a thing tied to a machine.
There are some providers out there that don't lock ram/disk together. This is mostly because they use a distributed storage pool rather than local disks. This is significantly more complex and is a 'fairly' new addition to the scene (~2010?).
This is also why certain providers still charge you for ram even when your machine is turned off, and why backups/migra tions/plan upgrades can be a bit of a pain in the neck at times.
http://digitalocean.uservoice.com/forums/136585-digital-ocea...
"Unfortunately given how physical resources are segmented if we gave users the ability to arbitrarily select CPU, RAM, or HDD independent of each other they would actually end up paying more for this 'custom' plan than using one of the pre-defined plans.
As I'm sure you are a well aware the resources are not equal and are not priced equally, it's cheaper to get more disk, than to get more RAM, which is why we've done our best to cut it up into units and provide the best cost savings to our customers."
With more flexible allocation of resources the pool would start to fragment. Without local disk the defragmentation process would be fairly easy as you could just restart the vm's in another host, but local disk makes this more difficult (or more annoying for the customer).
Just want better disk performance? Use instance storage or high provisioned IOPS EBS.
Just want a lot of memory? Pick a M2 or CR1 Memory-optimized instance type and pay for more RAM without adding CPU.
Just want more CPU power? Stick with the same amount of RAM as the m1.large but add 5 times the CPU power with the c1.xlarge.
More disk space? On EBS you just pay per GB.
This is all ridiculously over-complicated, and no doubt over priced like everything AWS offers.
That gives you a monthly/yearly final number, which is more useful for comparing against other 'cloud' providers, or for making the point that often it's cheaper to use standard VM or dedicated server providers.
This tool is great, but only if you're only looking at EC2, and I think that's a mistake these days.
It's also available as an API: http://ec2pricing.herokuapp.com/api/v1/eu-west-1/
However, one major component of businesses that private individuals do not understand is the value of risk reduction. In a major sense, many businesses are in the business of reducing or quantifying risk.
To an individual, it may not be worth $100k to make sure everything runs correctly. To a business, that might be an easy decision.
It is especially compounded because private individuals don't typically calculate the cost of their time. If a business can spend $100k to make sure their website doesn't go down, their ROI calculation is: probability_of_downtime * cost_per_unit_downtime + cost_to_fix + cost_to_report_causes + cost_to_explain_why_it_happened.
At $100 - $300 per hour per employee, costs rise FAST.
Businesses need to control risk, and will pay money to do so.
Thanks a lot, really helpful for me atleast!
AWS in general makes pricing opaque and hard to reason about, more simple tools like this would be useful.
EC2 is ridiculously expensive, considering the prices at Linode, Hetzner, DigitalOcean, OVH, LeaseWeb and 100tb.
From an individual's perspective, that's hard to understand. To a business, it really isn't that difficult to justify the cost.
One of my criticisms of HN commenters is the inability to empathize from a company's POV. Just because it doesn't make sense to you doesn't mean it doesn't make sense!
Companies (especially big ones) have different priorities than individuals. I may think it's stupid to 10x infrastructure costs by using AWS. A company may say "that's 1% of my budget, and it keeps my development running smoothly and developers happy with the familiarity and flexibility. I make that 10x cost back in 30 minutes, every day. Not worth optimizing."
For running large memory and bandwidth hungry servers they just can't deliver. On Amazon you can get 256GB of ram with dedicated 10GBps clustered networking. None of the options you listed can go above 1GBps and it won't be dedicated (you'll get a 1GBps port onto a shared network, and you'll be at the mercy of the traffic conditions inside their data center.)
Amazon also has a huge amount of cloudy solutions which is not to be sneezed at.
http://www.hetzner.de/hosting/produkte_rootserver/dx290
And it costs a fraction of EC2, which would cost you $2556 for 30.44 days.
I could get 10 servers with 1 Gbit each, and it will still be cheaper than EC2.