Isolated Application Deployment Instances

15 views
Skip to first unread message

Vincent Callanan

unread,
Dec 10, 2008, 6:25:23 AM12/10/08
to Google App Engine
I am new to GAE (who isn't?) and this subject has been touched on
before in a number of guises but I think we could all benefit from a
little more clarity.

I am developing a "proof-of-concept" business app which can benefit
hugely from the GAE framework. My ideal scenario is to deploy the app
to each customer as a separate isolated instance, integrated within
his managed Google Apps business account.

The main reasons for this preference are:

1. I would like to keep customer data and bugs isolated

2. Each customer is an island as far as the application data model is
concerned. One big database would require all tables and queries to be
qualified by a customer ID, adding an unnecessary layer of complexity
and impacting performance.

3. I would like each customer to take individual responsibility for
hosting costs

4. I wish to leverage the Google Apps for managing user accounts
within each organisation.

5. I wish to expose my own API to allow for customisation.

Bear in mind that each app instance may have to support a few thousand
users at most (but probably not millions).

Right now, deploying individual app instances in the way described
above is kludgy at best. While it may be feasible to do this manually
for a small number of high-value customers, it is certainly not a
scalable solution. There is also the issue of protecting intellectual
property.

I am wondering if there is anything in the "unofficial" roadmap to
address this requirement in the future. I would like to start
developing now on the basis that deployment of individual app
instances (and updates) will eventually be a single-click operation.

Is this wishful thinking?

James Ashley

unread,
Dec 10, 2008, 1:28:45 PM12/10/08
to Google App Engine
Maybe I'm missing something. But it doesn't seem like it would take
much effort to write a script to automate it.

Something along the lines of:

instance_names = ('a', 'b', 'c',...)

for name in instance_names:
# change the instance name in app.yaml

# call appcfg.py

You'd probably want to keep the instance names in a database, to
associate with billing, etc, but that could be something for later
down the road.

Vincent Callanan

unread,
Dec 10, 2008, 2:38:08 PM12/10/08
to Google App Engine
Thanks James,

I may have gotten the wrong end of the stick here.
I've been playing around with the SDK up to now but have not actually
deployed yet.

Are you basically saying that I can...

1. Allow 1000s of Google Apps account holders to easily deploy
*isolated instances* of my app:

2. Protect my app code from inspection by said Google Apps account
holders.

3. Assign responsibility for hosting cost of app instances to said
Google Apps account holders (when the service is eventually monetised)

4. Roll-out software updates automatically to each Google Apps account
holder who uses my app.

If the answer is "YES" to each of the above, then you will have made
my day!!

Roberto Saccon

unread,
Dec 10, 2008, 3:28:14 PM12/10/08
to Google App Engine
AFAIK, the answer is yes only to some of your points listed below:

On Dec 10, 4:38 pm, rvjcallanan <vinc...@callanan.ie> wrote:
> Thanks James,
>
> I may have gotten the wrong end of the stick here.
> I've been playing around with the SDK up to now but have not actually
> deployed yet.
>
> Are you basically saying that I can...
>
> 1. Allow 1000s of Google Apps account holders to easily deploy
> *isolated instances* of my app:

Well, they are not isolated, you have to write your code to isolated
them (based on detecting the custom domain)

>
> 2. Protect my app code from inspection by said Google Apps account
> holders.

Yes.

>
> 3. Assign responsibility for hosting cost of app instances to said
> Google Apps account holders (when the service is eventually monetised)
>

again, you have to track traffic for each deployed app (based on
detecting the custom domain) and do your own billing, unless Google
will roll out a billings service based on deployed app domains (that
of course would be great) and not just on consumption per developer
account.


> 4. Roll-out software updates automatically to each Google Apps account
> holder who uses my app.

Yes

>
> If the answer is "YES" to each of the above, then you will have made
> my day!!

regards
Roberto

Marzia Niccolai

unread,
Dec 10, 2008, 4:05:41 PM12/10/08
to google-a...@googlegroups.com
Hi,

The scenario that you've described isn't yet perfectly achievable.  I think what you are essentially looking for is something along the lines of Google Apps Labs for developers:
http://www.google.com/enterprise/marketplace/viewVendorListings?vendorId=1012

This is definitely something we would like to explore expanding in the future, but there is no specific roadmap for such a thing.

Right now to approximate such a thing you would need each of your customers to have an App Engine account for their domain, and add you as a developer to their account.  You could then deploy your application to their website, but they could handle all of the billing details for that account.

This would require that you be the person to deploy new instances of that app to individual clients.  And though they wouldn't have direct access to your code, because both you and them would be developers of the application, it's not certain this would never change in the future (developers being able to retrieve the code of the apps they own from App Engine).

-Marzia

Vincent Callanan

unread,
Dec 10, 2008, 4:57:18 PM12/10/08
to Google App Engine
Thanks Roberto,

You have almost made my day :)

Can you clarify to what extent I can "isolate" app instances for each
of my customers?

For example...

Is it feasible to maintain separate "table sets" for 1000s of
customer?

Is it possible for one misbehaving customer "instance" to adversely
affect other customers?

Regards,
rvjcallanan

Vincent Callanan

unread,
Dec 10, 2008, 5:49:26 PM12/10/08
to Google App Engine
Thanks Marzia,

For now I could live with manual deployment to each Google App account
if I thought deployment could be automated in the future. However, the
possibility you raised of Google changing its policy to allow
retrieval of hosted application code is disturbing. If Google was
indeed to allow code retrieval, it should at least allow the
possibility for third-party developers to "stamp" their code as
protected.

At a more general level, I think the GAE initiative has spawned many
more questions than it has answered. This is in itself an indication
of the enthusiasm of developers. I think it is high time that Google
put together a *detailed* strategy and roadmap on issues like
deployment so that developers can move beyond experimentation and work
to a set of concrete goals. Strategically speaking, GAE developers are
currently working blind or at least taking a punt on likely outcomes.
This aspect needs to be tightened up!

Yes we are an insatiable lot and I guess Google is working flat out on
this...but that's the price of progress :)

Many thanks,
rvjcallanan


On Dec 10, 9:05 pm, Marzia Niccolai <ma...@google.com> wrote:
> Hi,
>
> The scenario that you've described isn't yet perfectly achievable.  I think
> what you are essentially looking for is something along the lines of Google
> Apps Labs for developers:http://www.google.com/enterprise/marketplace/viewVendorListings?vendo...
>
> This is definitely something we would like to explore expanding in the
> future, but there is no specific roadmap for such a thing.
>
> Right now to approximate such a thing you would need each of your customers
> to have an App Engine account for their domain, and add you as a developer
> to their account.  You could then deploy your application to their website,
> but they could handle all of the billing details for that account.
>
> This would require that you be the person to deploy new instances of that
> app to individual clients.  And though they wouldn't have direct access to
> your code, because both you and them would be developers of the application,
> it's not certain this would never change in the future (developers being
> able to retrieve the code of the apps they own from App Engine).
>
> -Marzia
>

Greg

unread,
Dec 10, 2008, 6:16:31 PM12/10/08
to Google App Engine
Your day is currently made. Your customers sets up a google apps or
gae account, and then add you as a developer. They "own" the account -
billing, data, management is all their responsibility, and it is as
well insulated from other customers of yours as from any other random
GAE user. As a developer you can upload new versions of the app.

Note the "currently" in my first sentence. At the moment there is no
way to download your code from GAE, so your code cannot be retrieved
by your customers. However, many, many people have railed against this
- they have mangled their local code somehow and want to get the
production code back off GAE. The accepted wisdom is that any
developer who doesn't use version control and backups obviously
doesn't place any value on their code, and so neither should anyone
else. And those of us who do value our code actually prefer the
security of there not being any way to download it from GAE. Your
situation is another argument in favour of leaving the status quo.

Cheers!
Greg.

Vincent Callanan

unread,
Dec 11, 2008, 12:28:09 PM12/11/08
to Google App Engine
You've made my day assuming the "accepted wisdom" will prevail...or at
least if a backdoor facility is offered by Google, it should offer
third-party developers the option of protecting their code from
download *and* make it difficult to inadvertently upload code without
protection.

Rajkumar Radhakrishnan

unread,
Sep 8, 2011, 6:43:41 AM9/8/11
to google-a...@googlegroups.com
Hi,

If you guys are looking for an easy to use approach, you should check out and star this feature request : Marketplace for Google App Engine apps.

Thanks & Regards,
R.Rajkumar

--~--~---------~--~----~------------~-------~--~----~
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-a...@googlegroups.com
To unsubscribe from this group, send email to google-appengi...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---




--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Build online database applications, over Google App Engine.
iFreeTools Creator - http://creator.ifreetools.com


Reply all
Reply to author
Forward
0 new messages