Converting App Engine frontend versions to modules -


i've "abused" front-end "version" concept in app engine (java), implement modules before introduced. have configuration consisting of: module1-dot-myapp.appspot.com, module2-dot-myapp.appspot.com, module3-dot-myapp.appspot.com, etc., based on version concept (more commonly used numbers: 1-dot-myapp, etc.).

specifically, code in versions identical, each practically used different purposes. separation allows different clients use different api versions, separate deployment schedule, staging versions, logs separation, etc.

my question is, under theses conditions, best way convert application "real" modules? such "module1" actual module (still mapped same url - module1-dot-appspot.com)?

note: answer comes somehow similar exercise in python gae runtime, there aditional java-specific stuff @ well.

first things @ (possible show stoppers) app-level configs - need merged in different old app versions (if exist) , shared modules (or directed default module only), might not work before, best revisit latest documentation on these configs:

note: in multi-module python apps these configs might not updated automatically @ app upload, each of them may need uploaded explicitly, using respective app configuration utility options.

the separate deployment schedule free (each module can deployed independently). there may impact due app-level configs (multiple cli invocations instead of single one, example)

the logs separation comes free.

the staging story might need revisited, depending on mean that.

other - you'd bring different old versions of app in separate module sub-directories in new app. check if version control system supports easier. old app config file(s) need "translated" respective module's config file(s) , of info go new app's top dir config file.

the module url routing should allow transparent url mapping, note urls <module>-dot-<appname>.appspot.com , way same urls delete older app versions before deploying new 1 (due conflicting urls: <module>-dot-<appname> vs <appversion>-dot-<appname>, not sure if you'll old or new code serving or if it's possible deploy new code without error). use new appname @ first, ducks lined before switchover (possibly new staging story might consider going forward). might find helpful complementing url routing dispatch file if didn't have 1 before.

finally, if have identical files shared across modules may consider single per-app copy of file, symlinked respective modules, if that's easier or makes sense source code management prospective.


Comments

Popular posts from this blog

dns - How To Use Custom Nameserver On Free Cloudflare? -

python - Pygame screen.blit not working -

c# - Web API response xml language -