Choice of Platform and Infrastructure - GitAmrita/AdmissionProfessorBackend GitHub Wiki

Decisions on choosing platforms for RESTful API as the backend service.

We have tons of options out there. We narrowed down to Django and Node.js and finally chose Django.
Reasoning :
Django is built using python I found it more readable, maintainable, flexible and robust.
Node.js which is built using javascript is CPU intensive and as load increases it starts to deliver poor performance.
Also I am familiar with Django and the thought of Javascript freaks me out!
https://www.quora.com/Which-framework-should-I-learn-Django-or-Node-js-Why

  1. Django running on Google Clouds
    Google Cloud supports two kinds of environments

  2. App Engine : App Engine is a Platform-as-a-Service. It means that you simply deploy your code, and the platform does everything else for you. For example, if you app becomes very successful, App Engine will automatically create more instances to handle the increased volume.
    Projects running on App Engine can scale down to zero instances if no requests are coming in. This is extremely useful at the development stage as you can go for weeks without going over the generous free quota of instance-hours

  3. Compute Engine : Compute Engine is an Infrastructure-as-a-Service. You have to create and configure your own virtual machine instances. It gives you more flexibility and generally costs much less than App Engine. The drawback is that you have to manage your app and virtual machines yourself.
    Flexible runtime (i.e. "managed VMs") require at least one instance to run constantly.

http://stackoverflow.com/questions/22697049/what-is-the-difference-between-google-app-engine-and-google-compute-engine

We are opting for App Engine environment since there are less headaches associated on our part.

Choosing App Engine environments.
Standard Environment : Tutorial - https://cloud.google.com/python/django/appengine

Flexible Environment : Django on the App Engine flexible environment is a Beta release.It is not covered by any SLA or deprecation policy and the implementation may change, possibly in backward-incompatible ways. It is not recommended for production use. Tutorial - https://cloud.google.com/python/django/flexible-environment

Hence the choice of environment is Standard Environment.