I'm building an application that will utilize the Amazon API to retrieve products. I'm trying to determine if I'll have any advantage storing data on the Amazon server or a standard dedicated/shared server. Can anyone help me out please?
The answer depends on the performance requirements of your database.
Storage options available in AWS are quite slow compared to local storage or a SAN. If you have a smallish solution with modest traffic, AWS is fine. For high volume, high performance requirements I cannot suggest AWS.
I have prototyped two applications on AWS, and both were migrated to dedicated hardware once they had to handle serious customer volume.
We have been running TONS of load test on amazon. The pricing model can be great if you program in the automatic scale down of services. If you are small like a http://alvazan.com site, it works great on amazon PLUS when we moved the site, our people in China could access it 5 times faster while it was the same speed in the US.
Then if you use a nosql database(I have a client that I am doing testing for), we just ran 80 nodes and it scaled up great!!!! You have to use way more load balancers than you normally would and do round robin DNS though ELB's wil do this for you if you don't use the VPC. All in all, we have been turning up 100 nodes every once in a while to do testing and only spend 500USD for this month. The scale up fast is great at amazon and even if you host your own on dedicated hardware, I would recommend a VPN in from your current production so that you can "burst" very cheaply while you order the hardware to backfill more demand from your market.
ONE MORE HUGE THING: If you use cassandra, the write is first in memory on 2 nodes and then asynchronously done to the disk so the probability of data loss is the same as an RDBMS BUT is MUCH MUCH faster since your app only waits for it to write to memory instead of waiting to write to disk. later, Dean
精彩评论