2

I searched for answer to this question, but didn't come across a topic that seems to have directly addressed it. Hence I am posting it as a new question.

From this Google App Engine page, it says that webapp2 is a lightweight framework that allows you build simple web applications for the Python 2.7 runtime.

The emphasis above seems to be on simple web applications. Given this I wonder if it hints at webapp2 python framework not being suitable for large scale complex applications that need to scale to several million users. What is the reason that it wouldn't scale (because I thought Google App Engine is a platform designed to scale regardless of what language or framework one uses).

I am trying to make a decision of whether to use the webapp2 python framework (easier to learn and get going) for my website that might potentially have to scale to the millions of users or if I should consider other frameworks.

Zeehad
  • 779
  • 1
  • 5
  • 11
jar kir ang 1
  • 45
  • 1
  • 7

1 Answers1

2

webapp2 is unfortunately not actively developed and maintained. I have been using it for simple web apps that have around 100 users a day - and I have not witnessed any performance drops.

Scalability is not only about the framework, but the quality of your code, database design, queries, servers etc. Google App Engine provides the resources (bandwidth, space, processing power) but it does not write the code for you. GAE helps you scale when you need it and on the go.

https://code.google.com/p/webapp-improved/ - check the issues page, you will see a lot of unsolved issues and the project seems abandoned. As a developer why would you choose a project that is abandoned and does not have an active community?

If you want to stick to python I'd refer you to this question: Does Django scale?

Hopefully that will provide you with enough information to answer your question.

Community
  • 1
  • 1
Borko Kovacev
  • 890
  • 2
  • 10
  • 29
  • The main reason I was considering webapp2 is that it is supported natively (out of the box) by GAE and for its simplicity. Thanks for pointing out the webapp2 page. Didn't realize that it isn't actively maintained. Given GAE supports it natively, I was assuming that it would make a good choice. Regarding Django, I remember reading somewhere that Django on GAE isn't a great choice? Oh, wait, even in the thread you pointed out, it says "Django probably isn't the right choice for you, if you're sure that GAE is right for you." – jar kir ang 1 Sep 21 '15 at 22:41
  • Continuing my comment from above... I would like to use GAE and its datastore and leverage its great scaling features. But I am wondering even if I use Django (given the claims that it is a "poor choice" on GAE), I wonder if I would be able to use the GAE datastore with django? Overall it seems to me if I want to use Django, then I might be better off using AWS / EC2? Then again I would like to avoid maintaining my own VMs / servers. etc. That is why I thought if GAE + webapp2 is a good choice I would jump right into using GAE. But now I am splitting my hair :( – jar kir ang 1 Sep 21 '15 at 22:45
  • @jarkirang1 Django is a great choice, because you can easily migrate on to and off of Google App Engine. Take a look at the https://cloud.google.com/appengine/docs/python/cloud-sql/django?hl=en#porting. If you are worried about the poor choice, I would then recommend Flask :). https://www.airpair.com/python/posts/django-flask-pyramid . To answer your other question, yes you would be via django-nonrel. I understand the frustration part about the maintaining VMs/Servers - that's why I use GAE. You won't make a mistake whatever you pick. :) – Borko Kovacev Sep 22 '15 at 00:00
  • @jarkirang1Django-non rel documentation: https://cloud.google.com/appengine/articles/django-nonrel?hl=en . Hopefully this and the other links help you make the right choice. – Borko Kovacev Sep 22 '15 at 00:03