Best practice for environment architecture design (development, test, verification, production)

25 views
Skip to first unread message

Anders Moberg

unread,
Nov 20, 2009, 4:54:32 AM11/20/09
to Google App Engine
Hi,

I have searched for some kind of best practice for environment
architecture design in GAE but haven't found anything (yet).

I think we need 4 environments, development, test, verification and
production. But that is just my initial thought. So my questions are:
- What environments do you recommend?
- What is easiest way to set up these environments?
- Has google any official/unofficial policy against multiple versions
for the “same” application?

Our idea is to use a local computer for development. And 3 GAE hosted
environments, where:
- test would be for unit and integration test
- verification for end-user-tests
- production of course for the final version.

I'm very interested in your thoughts and experience in this area!

Regards, Anders Moberg

N. Rosencrantz

unread,
Nov 20, 2009, 1:47:31 PM11/20/09
to Google App Engine


On Nov 20, 4:54 am, Anders Moberg <anders.moberg.fri...@gmail.com>
wrote:
Hejsan, most here depends whether python or java is chosen. Java has
more ways to solve a problem and python the "obvious" way. The
(python) system development model I chose is very similar to this:
dev,test,prod,live + scraps adhocratively (matching innovatively
supporting very quick decisions) switching (too) fast, also looking
for more structural approach than ad hoc. Generally going opposite way
than majority who say facts have many numbers, I use names and shapes
that are easier and more natural to understand. + There're no
conventions for version numberings also supporting less numbers more
names. Here are some threads already mentioning environments. Spec I
want IDE with Mercurial and deployment to facilit8 development
integr8ing dvcs, scripting and deployment in one IDE.
http://groups.google.com/group/google-appengine-python/browse_thread/thread/afadb9cad6126f92/91b9a11e25e9e326#91b9a11e25e9e326
http://code.google.com/p/appfilesbrowser/ is very good to inspect
actual deployed
And sure welcome inspect my main project montao.googlecode.com with
many links to material I fins rel8ed if you want.
______
Niklas

Ikai L (Google)

unread,
Nov 20, 2009, 1:51:56 PM11/20/09
to google-a...@googlegroups.com
You might also want to read this article:

http://googleappengine.blogspot.com/2009/06/10-things-you-probably-didnt-know-about.html

Versions are just strings. In the production admin console, you can deploy multiple versions of an application that would only be accessible here:

http://version.live.appid.appspot.com

It's possible to have an application that uses live data to stage a release, then cut-over to the release using the admin tool when you have confidence. For a staging application that uses older production data, you can use the exporters and importers, then just use a different configuration file for each deploy.


--

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





--
Ikai Lan
Developer Programs Engineer, Google App Engine

Mikhail Kashkin

unread,
Nov 20, 2009, 2:04:44 PM11/20/09
to Google App Engine
Hi,

read inline comments

On Nov 20, 11:54 am, Anders Moberg <anders.moberg.fri...@gmail.com>
wrote:
> Hi,
>
> I have searched for some kind of best practice for environment
> architecture design in GAE but haven't found anything (yet).
>
> I think we need 4 environments, development, test, verification and
> production. But that is just my initial thought. So my questions are:
>  - What environments do you recommend?

I use Eclipse with PyDev and Google App Engine Launcher (under Mac
OSX). Mercurial as version control system.

>  - What is easiest way to set up these environments?

You can find a lot of tutorials how to setup such environment

>  - Has google any official/unofficial policy against multiple versions
> for the “same” application?

Never hear about such restrictions. As I know this is normal way. Only
problem now that there is no support to update all instsnces same
time, but it in roadmap.

>
> Our idea is to use a local computer for development. And 3 GAE hosted
> environments, where:

Use SDK, seems like it is expected use case.

>  - test would be for unit and integration test
>  - verification for end-user-tests

You can use unit test and UI test (I prefer Selenium based).

>  - production of course for the final version.

Just deploy and have fun

>
> I'm very interested in your thoughts and experience in this area!
>
> Regards, Anders Moberg

--
Mikhail Kashkin
http://www.devcult.ru/
http://www.mediavirus.ru/
http://app-engine.tumblr.com/ (Russian App Engine Blog)

Ikai L (Google)

unread,
Nov 20, 2009, 2:09:50 PM11/20/09
to google-a...@googlegroups.com
By the way - regarding the question about multiple versions of the same app: we have a restriction against this if it is used for the sake of dodging quota. This isn't the case here. Many of our customers run multiple versions to stage and test their application.

--

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


Anders Moberg

unread,
Nov 22, 2009, 4:12:09 AM11/22/09
to Google App Engine
I would like to thank you for the good and fast answers!

We will go the “obvious” way and create a different application for
each purpose in the development and operation process. But we will
also take a look at the version-functionality.

Many thanks

On Nov 20, 8:09 pm, "Ikai L (Google)" <ika...@google.com> wrote:
> By the way - regarding the question about multiple versions of the same app:
> we have a restriction against this if it is used for the sake of dodging
> quota. This isn't the case here. Many of our customers run multiple versions
> to stage and test their application.
>
> >http://app-engine.tumblr.com/(Russian App Engine Blog)
>
> > --
>
> > 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<google-appengine%2Bunsubscrib e...@googlegroups.com>
> > .
Reply all
Reply to author
Forward
0 new messages