What are the drawbacks/limitations when compared to a more traditional managed shared/virtual/dedicated host?
It is absolutely feasible to host a PHP/MySQL website on AWS (and you shouldn’t notice any significant difference in the procedure compared to setting it up on a VPS or even dedicated host). The potential advantage here is that you have control over the operating system – can change it at will, or even customize and deploy your own build of most (linux based) operating systems.
It is more common for small businesses or new businesses to use AWS – it has low capital costs (which potentially equate to lower risk), which makes it easier to enter into a market which would previously have required considerably computing resources 1. Some fairly big sites do (or did) use EC2 (as was evidenced by their service interruptions) – for example, Reddit, Quora, and FourSquare. Of the top 500k sites, over 10k use cloud services, with about 4k of those being on AWS 2.
- Cost for everything – since there is nothing prepaid, and no real caps on usage, it is possible to incur a significant charge if a site sees a dramatic increase in popularity (i.e. you are charged for bandwidth used – you don’t have an allotted amount like a traditional service)
- Performance variations – EBS drives are accessed over a network and performance can vary considerably more than drives connected directly to a server.
- Communication (big company), lack of stateful (external) firewall, and a few more items, mentioned here
As a personal opinion, I quite like AWS (and do run some PHP/MySQL sites on it) – it is great to experiment with, very ‘forgiving’ (you can mess things up completely, and easily start over – from a backup, or a ‘clean slate’ – without contacting support or undergoing any hassle), and it has proven reasonably reliable, easy to use, and is continually improving (lowering prices, adding features, etc.)