Yes, amazon is 'overpriced' if what you're looking at is CPU or disk speed (which is not a bad metric, really). Where amazon shines is the amount of programmatic interaction you can do with it - have build scripts kick off an EC2 instance to run tests, send reports, shut it down. Programmatically bring up more instances during peak times, spin them down at night, etc.
AFAICT, Linode doesn't offer that, and they probably won't. Amazon's been ahead in this arena for awhile, and will probably keep that lead for the forseeable future. EDIT: Apparently they do have an API which would cover a decent variety of use cases.
What's sad is the number of people that migrate over to Amazon because it's the done thing, without realizing what they're paying for (and that they're not utilizing the unique features of EC2).
The other thing Amazon offers is investor confidence. I've worked with several clients who could save tons of money every month by going to Linode, DO, etc., but stay with Amazon (or Heroku) because they feel it reassures investors they are following "best practices." I can understand lots of reasons not to switch, e.g. just having higher priorities, but this reason seems particularly silly.
It's more than just those incidents though. It's about basic security practices. No security audits. Passwords stored in plain text. Major discrepancies in the story from what Linode says versus the hacker specifically around whether the private key was compromised and credit cards stolen.
And it's just a continued pattern of incompetence and cover up.
For us another AWS benefit is the have a datacentre in Australia which is essential for us - storing our data overseas would require all sorts of extra legal hassle. Any performance boost from a different provider would be lost due to the extra network latency getting to the US.
But they do not make it very easy to spin up / down new instances. Setting aside the API, they bill you for a full month for a new instance as soon as you create it. True, you get a pro-rated credit if you delete it earlier but this is awkward and I think it only pro-rates by the day.
And StackScripts kinda sorta work, but they are hard to write/debug and are not portable. It's a pretty weak offering.
My thoughts exactly. Also, the AWS ecosystem provides quite the tool chain that is all technically intra data center. Just the S3 interaction is worth a lot if you have to deal with UGC or large amounts of system-generated files (like call recordings).
Another important aspect is ability to easily transfer raw data into an analysis tool, like Red Shift. Google also excels here with their Compute Engine and Big Query.
I think a lot of people think of the benefits of AWS is that it is the cloud and therefore infinascale. The thing that I see most frequently is that there are generally a minimum number of servers that always need to be on, then if needed, spin up some temporary servers to fill the short term spike. It is not trivial to write this kind of automated autoscaling, and I would wager that a lot of companies that have not heavily invested in their dynamic resource allocation scripts are not really benefiting from AWS the way they think they should.
While it is cool that AWS has a ton of services they offer, I do not like the vendor lockin that comes with AWS services. I think it is generally a better strategy to go with something OpenStack based. That way you can use your own hardware and dynamically provision new nodes in "the cloud" with companies like HP, RackSpace, and others. With modern day virtualization, running your own hardware can often be much cheaper and much more performant than AWS.