• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 505
  • Last Modified:

Amazon webservices -cost and practice

I host a simple php based application on a VPS and I am fine with it. (around 50$/Month)

I am planning to move that application to Amazon webservices ec2 and s3 as forsee a spike in the future .BuT I am not sure on the cost .Yes it talks about per Hour etc but I am bad at calculating the costs based on Usage.
1.Is there a simple way to do it
2.What would be an average cost for a application with 3000 Uniques ( any estimation would be good)
3.How can I play around amazon webservices without paying too much.I want to make sure that I am not out of depth (but at the same time not pay much to test it)

Any practical advice would be great.I have read the documentation and all ..but its too confusing .
  • 4
  • 4
  • 3
2 Solutions
To accurately calculate the anticipated costs on Amazon AWS, you can use a great AWS Simple Monthly Calculator: http://calculator.s3.amazonaws.com/calc5.html

This include Amazon S3 (US), Amazon S3 (EUR), Amazon EC2 (US), Amazon EC2 (EUR), Amazon CloudFront and Amazon SQS.

micro_learnerAuthor Commented:
Yah I saw that .thank you .but I was wondering if you could give me some practical numbers ..a roufgh  figure is fine .
I want to see if it will go to 10's , 100's or 1000's of dollars.I estimate around 5k Unique users with no out of the world processing
rough figures comin' your way :)

plug these into the calculator and be happy

unique users = unique user visits. If I come today and tomorrow it counts twice.
5K users mean a small server.
Each user visit results in 6 pageviews and 300 http requests (GET/POST), this depends on your web site. Get TamperData and count for yourself.
Average page size (html+css+js+img+flash+...) is 300K
Images and static files are served from the server and not from S3.

EC2 costs
1 small reserved LAMP instance = 720 hours
1 small on-demand LAMP instance = 200 hours (weekend traffic..)
Data in = 5000 users X 300 hits X 0.5K = 0.75GB
Data out = 5000 users X 6 pagevies X 300K = 9GB

S3 costs
50 GB permanent storage for your own private AMI
0 network transfer

total of $50 a month

now it's your turn to get a spreadsheet and adjust the figures to your web site.

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

you can play with the services all you want, just don't forget to close your EC2 instances when you are finished with them to save money.
I think this example of the calculation is very inaccurate. The only what you need to know that the smallest instance running 24 hours a month is cost about 73$ (On-Demand Instance), the smallest Reserved Instance cost about $22/month, but the one-time payment for it is $325 (for 1 year).

Costs of traffic, you can almost be ignored, because 5000 visitors - this is nothing. By the way, shalomc does not take that the html + css + js + txt files can be compresed on the fly by web server, for example, using mod_deflate in Apache2 - it will significantly reduce the traffic.
OK, add $325 annual payment.  that is additional $27 a month.

you still need S3 for your AMI,  if you want to be able to deploy your application in new instances to deal with peak demand.

you also need S3 for backup of dynamic data.

compression is great with text data, but does not help much with images. you have to see what comprises the bulk of your traffic and plan accordingly.
depending on your web site, traffic can accumulate and should not be ignored.

If the bulk of the web site traffic is static content, you can use S3 as a web server and lighten the server load considerably.

consider my comment as a methodology to come up with your own estimate, and not as hard data :P there are a lot of ifs and maybes and estimates...

micro_learnerAuthor Commented:
Great Guys ..my questions are answered (I think) Thank You .I will close this thread after posting my numbers based on what you guys said.
Immensly helpful..I will be right back with my numbers.Please let me know if they look ok
micro_learnerAuthor Commented:
Few More questions ...
1.Do I have to have an S3 along with a EC2
As I understand (which is mostly incorrect) I will have my LAMP set up on EC2 and will only use S3 for backups or db or maybe my ffmpeg video conversions
Is the above assumption wrong ? Can the S3 have the Apache webserver and PHP on it aswell? I am sort of confused with the difference between the two.
2.Coming to the costs ..the lowest cost for EC2 seems to be around 30$/month..so should I add 50$/month for the s3 to the total cost ?
1. In general, Amazon S3 is not necessary. S3 is well suited for storing very large amounts of data (hundreds of gigabytes, terabytes, etc.). The files are located on the S3 are available via HTTP, but nothing more.

2. I think you don't need Amazon S3. But even if so, $50 / month - so very much.
The total cost I wrote as $50 was not only for S3 but for the whole enchillada   :)

let's look at your plan.
> I am planning to move that application to Amazon webservices ec2 and s3 as forsee a spike in the future
you plan for a spike, so you will want to be able to have another copy of your web server up in the air in a manner of minutes and not hours or days.
this is called planning for high load and high availability.

an EC2 server instance runs your stuff, including your php, apache configuration, mysql, html etc. However, when the instance shuts down, everything goes puffffff and disappears.
When you startup a new server instance, whether to replace a gone server or to add a new one for load balancing, you need to copy everything anew to the new server. That includes the php files, image files, .htaccess, the mysql database.

in order to shorten the time to deploy a new server, you have two options.
Either to store everything that is particular to your application in a location that is always available ( hint: S3) and have custom scripts to set everything up.
Or store an entire preconfigured server image, what is called a private AMI, on S3. You can then start a new server from your AMI and have minimal reconfiguration.

Either way you need S3.

You will also want to have some sort of backup for your dynamic content. If you have a database driven web site, and the content gets updated on a regular basis, you want to backup it to S3.

Another optional use for S3 is to permanently store all static content on it. Suppose your web site is called www.micro-l.biz.
You create a S3 bucket called static.micro-l.biz.
place your static files on it. No php, just files that are to be processed by the browser, like images, js, css. give them public view permissions.
for example, you place there a file called MarketingPamphlet.pdf
Add a CNAME record to your DNS that points static.micro-l.biz to static.micro-l.biz.s3.amazonaws.com
you can now use URL http://static.micro-l.biz/MarketingPamphlet.pdf 

micro_learnerAuthor Commented:
Thanks for the great Help guys ...you guys are amazing.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Managing Security & Risk at the Speed of Business

Gartner Research VP, Neil McDonald & AlgoSec CTO, Prof. Avishai Wool, discuss the business-driven approach to automated security policy management, its benefits and how to align security policy management with business processes to address today's security challenges.

  • 4
  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now