On Apr 13, 8:52 pm, Josh Steiner <[email protected]> wrote:
>
> One thing that you are missing (unfortunately a more qualitative
> distinction rather than quantitative) is that appengine handles all
> the scaling for you.  Ec2 doesn't do anything to help you autoscale
> out of the box, and scaling a LAMP app is not exactly an easy ride if
> your growth curve is steep and sudden.
>

One simple method of scaling I was considering is having the app
initially fetch a plist of server addresses.  This could be served
directly from S3.  The iPhone would then perform some hash function on
it's unique ID to map itself to a server in the list.  This way new
servers could be added dynamically.  This only works, of course, if
the server data can be specific to some subset of your users and does
not need to be identical across all server instances.

If you store the unique IDs in the database, you can pre-compute who
will land on the new server when it goes live and  have their data
migrated to it in preparation.

Of course, you're right...  GAE eliminates the need to consider
scaling issues.

I think I may implement the same backend interface on both GAE and EC2/
S3.  That would allow me to use the server list idea to split users
between GAE and some number of EC2 instances.  I can then do a better
evaluation of the two approaches and I'm not "locked in" to any
particular approach.

It would mean maintaining two code bases for the backend, but my
interface will be simple, so I think it will be manageable.

--Tom
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to