Each "instance" is like an individual web server. You can scale in two ways: 
1) your existing instance can acquire more CPU cycles and RAM or 2) you can 
relatively easily add and subtract additional instances (ie, servers). Being 
able to grow your instance is nice but if you are running into performance 
limitations, you will likely need to consider adding additional servers. The 
simplest setup would be two web servers linked to one database server. From 
there, you can make it as complex if you want.

However, the best first thing to do is to try an optimize your application. 
Look at your queries. See how frequently your are hitting your database 
(almost always the bottleneck). Offload your images to a CDN (Amazon S3, 
RackSpace CloudFiles, etc). You might be able to get a quick benefit from a 
service like CloudFlare.

EC2 pricing is generally competitive. RackSpace is also a good provider. If 
you are in the USA (and possibly elsewhere) you can try out Amazon's 
smallest instance for free for 1 year. After that, it's only about $9 per 
month.

In any event, be prepared to learn how to operate your own *nix web server 
(I prefer Ubuntu 10.04). While it is not as easy as using a hosting 
provider's control panel, it can be done by a newbie. Try to keep it simple.

Reply via email to