I haven an appengine app and we currently do about 5-10 deploys per day. These deploys all have a NEW app version and are then set to default.
We notice that while switching over the default version, we get about a minute or 2 of instability while instances are switching over.
We plan on increasing the number of deploys to 30/day. Does it make sense to still deploy to a new version everytime?
What are the best practices here? How do you handle a lot of deploys?
I haven an appengine app and we currently do about 5-10 deploys per day. These deploys all have a NEW app version and are then set to default.
We notice that while switching over the default version, we get about a minute or 2 of instability while instances are switching over.
We plan on increasing the number of deploys to 30/day. Does it make sense to still deploy to a new version everytime?
What are the best practices here? How do you handle a lot of deploys?
On Thu, Aug 8, 2013 at 1:25 PM, aloo <aleem....@gmail.com> wrote:I haven an appengine app and we currently do about 5-10 deploys per day. These deploys all have a NEW app version and are then set to default.
We notice that while switching over the default version, we get about a minute or 2 of instability while instances are switching over.
Use traffic splitting ( https://developers.google.com/appengine/docs/adminconsole/trafficsplitting ) to incrementally move more and more users to the new version of an application. That buys time for instances to spool up for the new version and spool down for the previous version.
On Thu, Aug 8, 2013 at 1:25 PM, aloo <aleem....@gmail.com> wrote:We plan on increasing the number of deploys to 30/day. Does it make sense to still deploy to a new version everytime?
What are the best practices here? How do you handle a lot of deploys?
Is there a particular reason that you need to deploy new versions so rapidly? 30 deploys a day is fine for a test/low-production application, but if you're a high-traffic app it's a good idea to deploy on a much less frequent basis.
So new versions of the app spin up new instances? Existing instances don't get the newly deployed code?
I guess my real question is can a single instance run more than one version?
We basically have two versions, one set to default, and another used for smoke test and to host while we're deploying. We upload new code to the smoke testing environment, smoke test, then switch it to default. Then we deploy to the other version and flip it back to default.
Occasionally the behaviour doing this changes (for a while the old instances on the old version didn't shutdown, and had to be done manually), but that's the nature of appengine.
Issue to star if you're interested (this affects everyone, any deployment will currently cause downtime to consumers for a small window - 2 seconds to a couple of minutes, there will be no indication of this in your logs at all):
http://code.google.com/p/googleappengine/issues/detail?id=7874&q=Deploy&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-appengine.
For more options, visit https://groups.google.com/groups/opt_out.
You can set default from command line.
We do zero-downtime rolling deployments. Our solution is to deploy to a new version each time (identified by a timestamp), warm up the version, and then switch. If you have a high-traffic app you may need to use something like 'ab' to flood the new version and spin up enough instances.
ab -n 100 -c 10 http://www.example.com/
--
You received this message because you are subscribed to a topic in the Google Groups "Google App Engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/Q9v_0bqm9ZI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-appengi...@googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "Google App Engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/Q9v_0bqm9ZI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-appengi...@googlegroups.com.