Can we still expect a follow up on how always on will work? On May 18, 10:55 am, "Gregory D'alesandre" <[email protected]> wrote: > On Wed, May 18, 2011 at 1:57 AM, 风笑雪 <[email protected]> wrote: > > Hi Greg, > > > Can you raise On-demand Frontend Instances free quota to 25 Instance Hours > > per day? > > The small apps have very low traffics in average, but sometime (maybe > > several minutes) it may use more than 1 instances to handle burst traffics, > > so that they will got OverQuotaErrors at the end of the day. > > Its a good point, we'll look into this. Thanks for the suggestion! > > Greg > > > > > > > > > > > Thank you. > > > On Wed, May 18, 2011 at 12:49 PM, Gregory D'alesandre > > <[email protected]>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... > > 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 [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.
