Hello all,

I'm working on an application which will consist of a set of java
services on top of bigtable/blobstore, a user facing website, a CMS
and feeds for mobile devices.

I'm trying to decide what the best way to separate the application out
to allow for easier deployments and also to allow the application to
scale better. It seems to me that since the usage patterns for the
various components will be so different that appengine would probably
do a better job of scaling up/down if we broke out the components into
at least 3, if not 4 separate applications

1. Service tier (access to data and blobs)
2. website
3. CMS
4. Mobile feeds

Possibly it would make sense to combine 1 & 4. In this scenario, the
website and CMS would access the service tier using urlfetch to get
json/xml feeds.

My questions are these:

1. Does that make sense? Am I correct in assuming that combining all
of these pieces into 1 big deployment will make autoscaling much
slower (startup time) and less predictable?

2. What is the performance of fetching urls from other appengine
servers? Is it optimized in terms of network latency or do the
requests go out to the internet and back to google?

3. Are we better off deploying these as separate "versions" of the
same application and sharing our common data access code as a jar
file?

Note: I'm aware of the TOS around multiple applications, I'm not
concerned about it. We're not trying to bypass anything, just trying
to make this scale :-)


Thanks in advance for any feedback or suggestions.

Rick

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