if you are using MySQL, I think you will need EBS storage to persist the datafiles as well. While still reasonable, its definitely more then S3 or SimpleDB
cheers brian On Apr 14, 6:59 am, Thomas Fors <[email protected]> wrote: > I was anticipating using MySQL as the work-horse on EC2 and only using > S3 for persistence. I'm not familiar enough with SimpleDB but perhaps > I should have a look and run some tests comparing it to GAE's > datastore. > > Thanks > --Tom > > On Apr 14, 1:42 am, Alkis Evlogimenos ('Αλκης Ευλογημένος) > > <[email protected]> wrote: > > You are comparing AppEngine's indexed/queryable storage with S3's blobstore. > > To do a fairer comparison you would want to compare with SimpleDB > > instead:http://aws.amazon.com/simpledb/#pricing > > > On Tue, Apr 14, 2009 at 3:36 AM, Thomas Fors <[email protected]> wrote: > > > > Hello, > > > > I've been doing some tests to see if GAE is feasible as a backend for > > > an iPhone app I'm working on. So far, it appears that CPU Time is > > > going to drive the cost up to beyond Amazon EC2+S3 costs. If I've > > > made a mistake in my math, I'd appreciate any corrections. > > > > I have an app with a single "producer" and single "consumer" running > > > on my local machine. The producer uses remote_api to perform > > > datastore puts and the consumer performs datastore gets. I've run > > > them over the past 17 hours, and the Quota Details page shows 0.2GB > > > incoming and 0.2GB outgoing bandwidth. CPU Time has been 0.84 CPU- > > > hours with 6608 requests. That says I'm using about 458 CPU- > > > milliseconds per request. > > > > Google claims in May, their new free quota of 6.5 CPU-hours per day > > > will support 5 million page views per month which means they're > > > estimating 142 CPU-milliseconds per request. > > > > If I stick with the 458 CPU-milliseconds per request number, and > > > assume my iPhone app is very popular and I do get 5 million requests > > > per month, I'll consume 21 CPU-hours per day which is close enough to > > > 24 CPU-hours per day that I decided to compare GAE to a dedicated > > > Amazon EC2 instance. > > > > I'm going to give Google the benefit of the doubt and assume that I > > > don't exceed the free limits of 1GB data in and 1GB data out per day > > > and that my storage never exceeds the free limit of 1GB. > > > > With GAE, I'll get 6.5 CPU-hours / day for free and have to pay for > > > the remaining 17.5 hours / day at $0.10 / h. Over a year, this > > > amounts to $638.75. Since data in, out, and storage are free, my > > > total annual cost with Google is $638.75. > > > > With Amazon EC2, I can pay $500 for a 3-year reservation for a CPU > > > instance. This comes out to a fixed annual cost of $166.67 / year. > > > In addition to that, I have to pay for 24h / day of CPU time at a rate > > > of $0.03 / h for the year. This comes out to $262.80. > > > > Assuming I actually consume Google's free bandwidth limits of 1GB data > > > in and out, Amazon would charge: > > > 1GB in / day = 365 GB in / year * $0.10 / GB in = $36.50 for bandwidth > > > in / year > > > 1GB out / day = 365 GB out / year * $0.14 / GB out = $51.10 for > > > bandwidth out / year > > > > In addition, assuming I store Google's free storage limit of 1GB for > > > the year, with Amazon S3 this would cost: > > > 1GB / day = 30.4 GB/month * $0.15 / GB / month = $4.56 / month = > > > $54.75 for storage / year > > > > Amazon total annual cost: $166.67 + $262.80 + $36.50 + $51.10 + $54.75 > > > = $571.82 > > > > So, GAE would cost $638.75 per year where Amazon would cost $571.82. > > > Despite all the freebies Google's throwing in, Amazon is still > > > cheaper. > > > > In addition, I can't send iPhone push notices from GAE where I can > > > from EC2. I really like the GAE concept, but I just can't seem to > > > make the math work out. > > > > I realize there are lots of assumptions in here and 5 million page > > > hits per month may be a gross assumption, but in my testing, it > > > doesn't take much to send CPU Time though the roof. My "producer" was > > > originally a cron task that did an urlfetch and performed several > > > datastore puts. I was getting timeouts and CPU times up to 30s / > > > request. I converted it to use remote_api and did some optimization > > > on the code and now I have it down to something more reasonable > > > (occasionally, peaking to 2s / request), but still, my "consumer" task > > > is just a simple get that performs a query on the datastore returning > > > between 10 and 20 entities. The log confirms that it's taking around > > > 400 CPU-milliseconds per request. > > > > What am I missing? > > > -- > > > Alkis --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
