>From my FAQ:

My current provider offers me Unlimited bandwidth for $14.95 a month.  How
much is your unlimited plan?

:-)



-----Original Message-----
From: google-appengine@googlegroups.com
[mailto:google-appengine@googlegroups.com] On Behalf Of Sudhir
Sent: Wednesday, May 18, 2011 12:24 AM
To: Google App Engine
Subject: [google-appengine] Re: FAQ for out of preview pricing changes

Greg,

Great job with the FAQ... I think it clarifies things a lot, and is quite
will written.

I'm still not clear on some points, though.

If I do db.get([key1, key2]), and two entities were fetched, how many
'operations' have I consumed?

If key2 didn't exist and only one entity was fetched, what would be the
charges?

If db.get(key1) fetches a 5kb entity and db.get(key2) fetches a 500kb
entity, what's the difference in charges?

Under the new scheme, is it more economical to do keys only query that
fetches 1000 keys, and then do a get on the 500 of them that I need, or just
fetch all 1000 directly?

Being able to provide a definitive answer to these questions would really
help.

Sudhir





On May 18, 11:54 am, Maxim Lacrima <lacrima.ma...@gmail.com> wrote:
> Hi!
>
> Under the new model for the Datastore API calls, does it mean that I 
> don't care anymore about performing operations in batches? So in terms 
> of costs db.get(key1); db.get(key2) is essentially the same as
db.get([key1, key2])?
>
> Thank you!
>
> On 18 May 2011 07:49, Gregory D'alesandre <gr...@google.com> wrote:
>
>
>
>
>
>
>
> > Hello All!
>
> > As you've likely heard, when Google App Engine leaves Preview in the 
> >second  half of 2011, the pricing model will change.  Prices are listed
here:
> >http://www.google.com/enterprise/appengine/appengine_pricing.html.  
> >But  that leaves a lot of questions unanswered, this FAQ is intended 
> >to help  answer some of the frequently asked questions about the new 
> >model.  We are  interested in hearing additional thoughts and 
> >comments you have based on  this.  Once it is relatively stable I'll 
> >add it to our official docs.  If  you find there is something you 
> >want to know but it is not yet answered,  just ask and I'll try to 
> >answer it as clearly as possible.  We've made some  changes based on 
> >the feedback we've gotten (from this group in particular),  they are 
> >bolded below but not updated on the external pages yet.  There are  
> >still blanks to fill in and I will be sending that information to 
> >this group  first in order as it is available.  Finally, thank you 
> >for your questions  and bearing with us as we are ironing out details, I
and the whole App  Engine team very much appreciate it.
>
> > Greg D'Alesandre
> > Senior Product Manager, Google App Engine
>
> > -------------------
>
> > *Definitions*
> > *Instance*: A small virtual environment to run your code with a 
> > reserved amount of CPU and Memory.
> > *Frontend Instance*: An Instance running your code and scaling 
> > dynamically based on the incoming requests but limited in how long a
request can run.
> > *Backend Instance*: An Instance running your code with limited 
> > scaling based on your settings and potentially starting and stopping 
> > based on your actions.
> > *Scheduler*: Part of the App Engine infrastructure that determines 
> > which Instance should serve a request including whether or not a new 
> > Instance is needed.
>
> > *Serving Infrastructure*
> > Q: What’s an Instance?
> > A: When App Engine starts running your code it creates a small 
> > virtual environment to run your code with a reserved amount of CPU 
> > and Memory.  For example if you are running a Java app, we will 
> > start a new JVM for you and load your code into it.
>
> > Q: Is an App Engine Instance similar to a VM from infrastructure
providers?
> > A: Yes and no, they both have a set amount of CPU and Memory 
> > allocated to them, but GAE instances don’t have the overhead of 
> > operating systems or other applications running, so a much larger 
> > percentage of the CPU and memory is considered “usable.” They also 
> > operate against high-level APIs and not down through layers of code 
> > to virtual device drivers, so it’s more efficient, and allows all the
services to be fully managed.
>
> > Q: How does GAE determine the number of Frontend Instances to run?
> > A: For each new request, the Scheduler decides whether there is an 
> > available Instance for the request, the request should wait, or a 
> > new Instance should be created to service the request.  It looks at 
> > the number of Instances, the throughput of the Instances, and the 
> > number of requests waiting.  Based on that it predicts how long it 
> > will take before it can serve the request (aka the Pending Latency).  
> > If it predicts the delay will be over 1 second, a new Instance is 
> > created.  If it looks like an Instance is no longer needed, it will take
that Instance down.
>
> > Q: Should I assume I will be charged for the number of Instances 
> > currently being shown in the Admin console?
> > A: No, we are working to change the Scheduler to optimize the 
> > utilization of instances, so that number should go down somewhat.  
> > If you are using Java, you can also make your app threadsafe and 
> > take advantage of handling concurrent requests.  You can look at 
> > that as an upper bound on how many Instances you will be charged for.
>
> > Q: How can I control the number of instances running?
> > A: With the new Scheduler you’ll have the ability to choose a set of 
> > parameters that will help you specify how many instances are spun up 
> > to serve your traffic.  More information about the specific 
> > parameters and how they will affect the Scheduler will be available on
this within a few weeks.
>
> > Q: What can I control in terms of how many requests an Instance can
handle?
> > A: The single largest factor is your application’s latency in 
> > handling the request.  If you service requests quickly, a single 
> > instance can handle a lot of requests.  Also, Java apps support 
> > concurrent 
> > requests<http://code.google.com/appengine/docs/java/config/appconfig
> > .html#Usin...>, so it can handle additional requests while waiting 
> > for other requests to complete.  This can significantly lower the 
> > number of Instances your app requires.
>
> > Q: Will there be a solution for Python concurrency?  Will this 
> > require any code changes?
> > Python concurrency will be handled by our release of Python 2.7 on 
> > App Engine.  We’ve heard a lot of feedback from our Python users who 
> > are worried that the incentive is to move to Java because of its 
> > support for concurrent requests, so we’ve made a change to the new
pricing to account for that.
> > *While Python 2.7 support is currently in progress it is not yet 
> > done so we will be providing a half-sized instance for Python (at 
> > half the price) until Python 2.7 is released.*
>
> > Q: How many requests can an average instance handle?
> > A: Single-threaded Instances (python or java) can currently handle 1 
> > concurrent request.  Single-threaded Instances (python or java) can 
> > currently handle 1 concurrent request.  Therefore there is a direct 
> > relationship between the latency and number of requests which can be 
> > handled on the instance per second, for instance: 10ms latency = 100 
> > request/second/Instance, 100ms latency = 10 request/second/Instance,
etc.
> >  Multi-Threaded Instances can handle many concurrent requests.  
> > Therefore there is a direct relationship between the cpu consumed 
> > and the number of requests/second.  For instance, for a B4 (approx 
> > 2.4GHz) instance: consuming
> > 10 Mcycles/request = 240 request/second/Instance, 100 
> > Mcycles/request = 24 request/second/Instance, etc.  These numbers 
> > are the ideal case but they are pretty close to what you should be able
to accomplish on an Instance.
> > Multi-Threaded instances are currently only supported for Java; we 
> > are planning support for Python later this year.
>
> > Q: Why is Google charging for instances rather than CPU as in the 
> > old model?  Were customers really asking for this?
> > A: CPU time only accounts for a portion of the resources used by App 
> > Engine.  When App Engine runs your code it creates an Instance, this 
> > is a maximum amount of CPU and Memory that can be used for running a 
> > set of your code.  Even if the CPU is not currently working due to 
> > waiting for responses, the instance is still resident and considered 
> > “in use” so, essentially, it still costs Google money.  Under the 
> > current model, apps that have high latency (or in other words stay 
> > resident for long periods of time without doing anything) are not 
> > able to scale because it would be cost-prohibitive to Google.  So, 
> > this change is designed to allow developers to run any sort of 
> > application they would like but pay for all of the resources that are
being used.
>
> > Q: What does this mean for existing customers?
> > A: Many customers have optimized for low CPU usage to keep bills 
> > low, but in turn are often using a large amount of memory (by having 
> > high latency applications).  This new model will encourage low 
> > latency applications even if it means using larger amounts of CPU.
>
> > Q: How will always-on work under the new model?
> > A: Still determining how this will work, answer coming very soon (no 
> > seriously, we are almost done).
>
> > Q: What is the difference between On-demand Instances and Reserved 
> > Instances?
> > A: On-demand Instances have no pre-commitment in terms of the number 
> > that will be used.  You pay for them as you use them.  Reserved 
> > Instances are pre-commitment to a certain number of Instance Hours 
> > in a week.  They are cheaper but you must pay for all the Instance 
> > Hours that you have pre-committed to whether you use them or not.  
> > This does not mean they have to be running the whole time.
>
> > Q: Wait, so Reserved instances don’t mean you have to keep them 
> > running the whole time?
> > A: No, it is just a way to get cheaper instance-hours by 
> > pre-committing to them.
>
> > Q: What is the time granularity of the instance pricing?  ie if I 
> > have an instance up for 5 minutes, what am I charged, $0.08 / 60*5?
> > A: Instances are charged for their uptime and until they are idle 
> > for 15 minutes (when the scheduler takes them down).  So if you have 
> > an on-demand Instance only serving traffic for 5 minutes, you will 
> > pay for 5+15 minutes, or $0.08 / 60 * 20 = 2.6 cents.
>
> > Q: You seem to be trying to account for RAM in the new model.  Will 
> > I be able to purchase Frontend Instances that use different amounts of
memory?
> > A: We are only planning on having one size of Frontend Instance.
>
> > Q: Do Frontend instances handle Task Queues and Cron?
> > A: Yes.
>
> > Q: Can the experimental Go Runtime handle concurrent requests?
> > A: Not currently.
>
> > *Costs*
> > Q: Is the $9/app/month a fee or a minimum spend?
> > A: *Based on the feedback we’ve received we are changing this $9 fee 
> > to be a minimum spend rather than a fee a originally listed*.  In 
> > other words you will still have to spend $9/month in order to scale 
> > but you won’t pay an additional $9 for your first $9 worth of usage 
> > each month.  The $500/account/month will still be a fee as it covers 
> > the cost of operational support.
>
> > Q: Will most customers have to move to Paid Apps?
> > A: No, we expect the majority of
>
> ...
>
> read more »

--
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to