Be Careful When Comparing AWS Costs...
aws.typepad.com
aws.typepad.com
I'm glad the truth about how expensive EC2 really is is starting to come out. Hopefully it will force them to revise their pricing, or at least offer more processing power for the same price.
I ran some benchmarks a few weeks ago that show how expensive EC2 really is http://blog.carlmercier.com/2012/01/05/ec2-is-basically-one-....
That said, I love the flexibility of AWS. RDS, S3, EBS and the whole ecosystem is really well thought out. I just wish I could get real performance out of it.
EDIT: 10-20 times more expensive, not "orders of magnitude"
It's value starts to appear when you are operating at a scale high enough that you start hiring people to futz with servers.
Enterprises love Amazon for a few reasons: - Cost containment -- all costs for a projet can be borne by the project, and go away at the end. - Cost savings -- Amazon costs are easily a third of what large enterprises charge back for similar services. - Avoiding internal IT challenges -- Amazon gives people who own applications or businesses to avoid many of the bureaucratic hoops that they must deal with internally. (Remember the story about the NY Times guy who digitized all of the back issues of the Times? Getting the resources for that project would take months the normal way.) - Speed -- Physical server provisioning times as long as 8 weeks aren't uncommon. VMs can take days. Amazon obviously doesn't have that issue. - Performance isn't an issue -- EBS sucks, but so do the overcommitted VMWare clusters and shared SAN at a large company. At least it doesn't cost $1.50/GB/mo (benchmark cost for enterprise SAN a couple of years ago.)
For a startup that can run the business on a half dozen boxes, it is definitely more expensive. But... if you are expecting lots of growth, you do need to make sure that you choose a colo/hosting place that has the ability to scale up as well.
You made a good argument, made some good points, and you linked to a blog article with real data, so naturally you're getting down voted.
I think its a shame that people apparently fall of the "amazon is a tech company" propaganda. I've worked there. It was like working for walmart. Its not like working for Microsoft (worked there too.) The Amazon hype machine is very strong, but people don't seem to realize it, and the amazon hype isn't strictly honest. (EG: They claimed AWS was "running Amazon.com" at a time when none of Amazon.com was running on AWS. They "leaked" the kindle fire to build hype, and brag about how its selling so well, but never release honest numbers, only bundling the fire with all the other kindles in the few numbers they've released. Lots of puff pieces clearly orchestrated by PR firms trying to paint bezos as a visionary, etc. etc.)
I read about Bezos in Google+ (it was by Steve Yegge, I suppose) and from that, it seemed like he is a jerk but more importantly, a visionary, not unlike Steve Jobs.
What's your take, if I may ask?
Jerk: Steve Jobs is not a jerk. He's opinionated, and I think many people can't stand that. But at his core, his biggest crime is probably being too honest (e.g.: being honest about what he thinks.) Jeff Bezos: He is a jerk. He's been a jerk to me. For him, being nice is a facade, but in reality, he's got no consideration for other people-- to him other people are ... things to be used for his own benefit. He doesn't have compassion. I believe Jobs has compassion at a very profound level.
Visionary: I don't ilke this term. Steve Jobs though probably does fit, because he focuses on the future, he focuses on the product. He is extremely product focused, product obsessed, and thus he manages to bring about products that have a huge, significant impact. Again, I think Bezos is the opposite. Amazon does hundreds of initiatives each year. The main thing Bezos seems to want out of a product is a press release. I think this is true of even things like AWS. They just throw things on the wall. All of the engineering at Amazon is half assed. (their software was out of date 15 years ago, and is poorly engineered.) They do movie reviews, they do movie show times, they scan restaurant menus, they do a search engine, they have e-readers, now they're competing on tablets, they're a retail operation, they are expanding internationally (yet in many countries outside the USA they haven't done squat because "expanding internationally" played really well on wall street during the dotcom boom but isn't so important now so they don't care so much.)
The only redeeming quality Amazon has is that they treat their customers well (not their employees, not their suppliers, not their partners, not anyone, just customers.) They also had good timing and got into commerce at a brilliant time.
Jeff Bezos is a failed financial analyst who parlayed connections and a lot of dumb money in the dotcom period into the biggest stock scam ever (I think Amazon is still a stock scam-- it has a real business but its stock is massively overvalued and I really don't trust their accounting.)
Here's the proof: Jobs did not seek out publicity for himself, except when he wanted to sell a product. The product was always Apple's latest-- then he'd appear on magazine covers. Bezos is the product, and he, and his PR firm, are pitching him as a visionary-- this is all smoke to get investors to continue to allow Amazon to operate at essentially a loss because its core business is just retailing. Apple is a high tech company that invents totally new technologies-- Amazon is a retailer pretending to be a high tech company.
I have worked for Amazon, but have not worked (as an employee) for Apple, though I have worked with Apple in other capacities.
In order for AWS to make sense, you need to utilize the hourly billing. If you use EC2 and leave you server on 24/7, you are going to be paying more for less powerful hardware than you could with dedicated. Yes, they have a fancy datacenter and instant provisioning and cool backups. You are still paying more. Way more in some cases.
*This does not apply for tiny websites. If your hosting bill is 100$ or less a month, amazon is likely fine for you and maybe the most effective cost saver. Once you go above that mark, Its almost always more effective to be on dedicated unless you are one of the very few people who has truely hourly based service (Think, a seti@home where you only crunch data once a month) - Any normal "website" will do better with dedicated.
Finally, to summarize the above. EC2's main, most important, if-you-arent-using-it-you-are-doing-it-wrong, feature is HOURLY BILLING. If you dont constantly switch on and off from different sizes (and you spend a decent amount of cash) then dedicated is likely better for you.
Dont get me wrong, EC2 is great. But use it for overflow. Or use it for the bells and whistles. Or use it because you have more cash and you would rather not deal with the issues and you like simpledb and yadda yadda yadda. Use it for whatever reason you like. Just dont use it because its cheaper. Because its not.
I was going to say this. Using an US-East micro instance reserved for 3 years is cheap as hell for my screen/irssi and occasional VPN needs. The cost per month is something like the change I currently have in my pocket.
With a 3-year reserved instance, using the "intensive usage" pricing (since it's always on), and in the cheapest availability zone. I get a price of 6.42$/month. I guess in practice, even for an personal thing, around 10GB of storage would be required (1$) (does the installed OS counts towards this number ?). Add 10GB of transfered data (1$), as a vpn/screen server is unlikely to have huge amounts of incoming data.
The final price is 8.42$. Which, for a 600MB ram server, is quite competitive. If I didn't forget something.
This is about the only use case where I would recommend AWS, though. Starting at ~25/30$, there are way better alternatives (including cheap dedicated). And if you need more bandwidth, cheap VPS tend to come with 20 or 100GB/month at least. But you'd get less RAM.
If you don't need much, http://www.lowendbox.com/ is a good site to see what's out there.
I have 2 cores (well, shared box..), 1GB of ram, 20 GB of hdd. I don't quite remember what option I selected for bandwidth, but the hoster's TOS say 'if you exceed your bandwidth limit, we'll throttle you to 10MBit. No additional charges apply'. Uhm.. Fine.
I pay 11 EUR, which is awfully close to your price without any commitment (I can cancel every month) and with better specs.
I am convinced that the future of web hosting is AWS style.
Admittedly, this isn't my field, so I'd love to hear from someone in-the-know about whether Linode is on par with AWS with regard to most startups (who don't need the extra services Amazon provide over VPS providers).
They're meant for long-term crunching such as video transcoding or batch-jobs. And in most cases you'll want to have a lot more than one because a single micro has about the throughput of a modern android phone...
Maybe i'm being unreasonable? I would say I am (honestly) if it were not for the fact that if you purchase a 3 year medium utilization instance, and suddenly you want to switch to a heavy...DING there goes your 3 year cost again.
We love AWS, but things like upfront fees that we have to pay, which then have to be re-paid if our business changes really bother me.
Reference: https://forums.aws.amazon.com/thread.jspa?threadID=86667
For those interested it's Amazon's rebuttal to the story discussed here: http://news.ycombinator.com/item?id=3580273
My company works in the media space and I love EC2- during the week our loads are low but when it's Superbowl Sunday or the GRAMMYs, the ability to spin up capacity is huge. But the fact that I'm _not_ paying for that capacity 24/7 is even bigger.
Here's why it sucks:
131 x amazon extra large: $56k after Amazon fixed the pricing
- 524 amazon cores
- tons of crap io
- 2tb of ram
131 x bought servers: $61k
- this includes colo and bandwidth and amortized cost of buying
- excludes labor which Amazon makes mention of
131 x $289 leased servers [1]: $37k
- 524 real cores, each with hyperthreading
- tons of dedicated disk io (raid 1 SSD and raid 1 SATA!!)
- 2tb of ram
- server breaks someone fixes it
These dedicated servers are obviously going to shit all over EC2 virtual servers if you're doing anything that involves disk or cpu so you could in all likeliness shave another $10k - $15k off the hosting bill to match the AWS capacity.
[1] https://hivelocity.net/cart/configure/13c6f96e41#50a2e-82f3f
I love some aspects of AWS, but I find it hard to trust them when it comes to the cloud vs. dedicated hosting discussion.
Any analysis like this needs to first find a set of comparable servers that have performance parity (for the given application) first instead of merely specification parity.
You are incorrect in saying that you take an order of magnitude performance hit when Virtualization, especially for CPU bound tasks [1].
In terms of disk you are slightly more correct, you can lose substantial performance, however it's still not an order of magnitude.
[1] http://blog.xen.org/index.php/2011/11/29/baremetal-vs-xen-vs... (A series of benchmarks showing a disparity of ~1% off bare metal on CPU bound tasks.)
I understand that technically there shouldn't be much disparity for CPU bound tasks (because most instructions are translated directly), but our benchmarks show a 40x performance hit for heavily CPU bound, single threaded tasks between a large EC2 instance and an entry level softlayer dedicated box (doing computer vision work). Perhaps it's a caching issue caused by Xen and other VMs sharing the hardware or perhaps its the fact that EC2 is built on older hardware that might not support some of the more advanced CPU features. Regardless, core for core on a anecdotal level, we have seen a stunningly large impact by switching to dedicated hardware.
Micro - $105.80/yr (reserved instance)
Bandwidth - $0.00/mo (light transfer usage)
S3 - $0.20/mo (combining storage and transfer)
CloudFront - $0.20/mo (combining requests and transfer)
After a quick glance around I found that it was going to be impossible to beat that price, most especially for the services gained by using AWS (CloudFront, S3, CLI interface + tools, ability to spin up an instance behind the scenes and swap over to it once properly configured...)
The moral of this story is to make sure that you price out the cost of using any platform for your particular usage profile.
Yes, there are interesting aspects to AWS. But I could host servers at SoftLayer with 10x more power than AWS instances at a 5-10x price reduction.
Even hosting at an overpriced "managed" dedicated provider like Rackspace would run you less than AWS.
What you are claiming is that $100/month on AWS would cost $1-2/month on SoftLayer. That's just not credible to me without a citation.
I wish I could find a good DC that sold me unmanaged servers for cheap. I just need someone to keep the power on, the BW flowing (preferably no Cogent) and when hardware breaks to replace it. I'll take care of the rest.
I'm not a sysadmin, so I might be terribly wrong here, but isn't this the very definition of managed hosting?
I definitely understand why you would want to take responsibility for OS upgrades and the like.
This seems to be fairly standard throughout the industry, when you look at unmanaged hosting you get no OS support but do get hardware support. And when leasing a server that is what I expect.
We've been with them since 2010.
1. colocation w/ yours or your admin team physical access
2. AWS
3. normal hosting
And I've put AWS on the 2nd place only due to the ability of replacing or scaling your hardware in minutes.
It's good to know that for $11k a year (paid upfront) plus traffic costs one can run their biggest GPU instance on 10GigE connection, or a 60 GB RAM machine on a normal connection.
I think AWS is absolutely unbeatable for startups where you are not sure about the success upfront.
Also, I'm running my Node.js sites on a Micro instance which I have free for the first year, and $16/mo onwards.
If enough of these considerations match your needs, then AWS looks great, otherwise look to dedicated servers.
I want to save time by not having to learn Amazon specific APIs (which seem to be terribly engineered, cause every time I want to throw a small project that way I find myself in a morass of poor documentation and way too complificated configurations.)
So, I see that really as an added cost.
Most of the standard infrastructure is quite replaceable. S3 can be easily replaced by more or less any file storage system (in Django it's 1 line of configuration), ELB can be replaced by any load balancer, ec2 by dedicated servers, etc.
Admittedly, some code changes are required, but nothing architectural (e.g., S3BotoStorage -> RackspaceStorage in django). For anything bigger than a hobby project, it shouldn't be a major barrier.
Your point on vendor lockin is certainly valid: if you really take advantage of AWS services, you are locked in without a porting effort (like AppEngine).
If you are trying to deploy a global solution, I don't know any way as cost effective as rolling out images to all the regions you need and rolling out the same scripts, knowledge, strategies to each region to get your service up and running.
Opening accounts with dedicated providers in each country as an alternative sounds infinitely more painful.
You can compare the prices with custom configurations of multiple providers with Cloudorado - http://www.cloudorado.com.
If you have a commit for 500Mbps at $1 a Mbps on the 95th then you will pay at least $500 a month regardless of how little you use. If you end up using 1Gbps then you will pay $1000 a month.
As far as I'm aware there are no extra charges beyond the price for the commit and any MRC (Monthly Recurring Charges) your account may have. Though my boss takes care of that paperwork so I might be mistaken.
(The other caveat is I've never seen $1/mbps transit, if you find it, let me know. :))