In this HowTo we are going to cover off how to understand your AWS costs and also possible architectures. The next article will cover off the architecture we chose. Please refer to AWS documentation for detail. If you want our view on pricing or have a question please post here.
The AWS people are driving cost down all the time. Since we have been with them there has been around 30 cost reductions.
For the architecture we have adopted, These are the elements we have to pay for
- Two applictions server instances
- One Elastic Load Balancer
- One RDS Multilple Availability Zone instance. This is a MySQL server with its own load balancer, backup and rollback etc
- A few Elastic IP addresses
- 30G of Elastic Block Store (EBS) -- virtual disk -- per store
How AWS pricing works (currently)
- For most EC2 components, payment is by the hour
- If you need an element full time then calculate on 750 hours per month
- Elastic IPs are free if you use them but if they are NOT used they are charged a small amount
- S3 File storage is currently around 10c per month per gig
- Archival storage is available at a very small fraction of the S3 cost (conditions apply)
For a test system suggest use micro instances -- around $15 per month. These only have about .6G RAM but they have a burst capability of more than other instances and you don't need much if you are not running the database on that instance. Also server backups (snapshots) which copy the whole server on a single EBS instance do not use any steam from your micro. All done by the infrastructure.
We are currently running on m1 Small instances. These have roughly about 1.7G RAM and our services have taken some quite heavy burst loads without getting flustered at all m1 Small instances cost about $45 per month
There are other charges -- upload is currently free but download costs a very small amount which we will ignore for simplicty, but do check out if you are getting serious about all this. Post back or PM us if you want to confirm your calcs
RDS - your Relational Database Service [MySQL] server will cost around $40 for a micro and $100 for a small DB instance . We are running a small in our production environment. Note that you are effectively getting two replicated MySQL servers for this price
NOTE: If you are just trying things out and are a new AWS customer you can get everything for free but they have to be all micro. And the RDS database server will single zone - no geographic diversity. Single server only
For all paid options there are ways of reducing even these costs drastically. If you reserve your instances then the cost drops to around 40% the costs quoted above