Breaking our application into modules
At the moment, our Notes application provides some frontend functionalities such as serving the main page, together with backend functionalities such as handling cron jobs. This is fine for most use cases but if the application architecture is complex and we have a lot of traffic, having several backend jobs around that steal resources from the frontend cannot be always acceptable. To face this kind of problems, App Engine provides an extremely flexible way to lay out a web application with the use of modules.
Every App Engine application is made up of at least on module; even if we didn't already know it, so far we have worked on the default module of our Notes application. A module is identified by a name, consists of source code and configuration files, and can reside in the application root or in a subfolder. Every module has a version and we can deploy multiple versions of the same module; each version will spawn one or more App Engine instances...