📜 ⬆️ ⬇️

Google App Engine: advantages and disadvantages

Google App Engine: advantages and disadvantages
After studying the information on the Internet about Google App Engine, I would like to express my own opinion about the high-profile disputes around this product, and also provide a general list of its limitations based on the publications studied on this topic.

A professional developer selects a tool for the task and solves it with the tools that are available.

This applies to both the choice of the Python language and the platform as a whole. I personally am a Python and Django developer for over a year now and can judge their advantages and disadvantages. Python and Django have proven to be excellent tools for creating web applications. To use them or not is everyone’s business. In my opinion, Google picked up and provided enough funds for a full-fledged web development. Why Python was chosen, I think, is clear to everyone - the corporation has a wide experience in working with this language. And also do not forget that Guido van Rossum is a member of the development team.

I met a publication in which Google's solution was compared with hosting on “your favorite language + MySQL”. I doubt that Google suddenly decided to retrain in a hosting company of the average poshiba. Google App Engine is not free hosting for your favorite blog, it is a scalable environment for high-load applications that work with large data sets. It is in this situation that it will be useful for you, although you can use it as you like. You need to understand how the product is positioned and how to properly use it. I will cite as an example the question of arbitrary requests. For each of your queries, the environment requires an index. She does it absolutely right (and often automatically). Although this limits the ability to "play" with the data, but the real application always works with a limited list of requests to the database. It always produces the same requests, only with different parameters. Optimization for exactly your requests is the right decision and it is very good that the environment itself pushes you to it. Thus, this technology requires an understanding of its purpose.
')
List of valid restrictions:
- the volume of static files is limited to 1 MB. App Engine does not support partial requests for content.
- it is impossible to use comet-technologies (server push).
- the application is not identified uniquely by ip-address. Difficult to interact with external services. The application may suffer from bad neighbors on the same service.
- no SSL support. The lack of a unique IP address makes it difficult to authorize, but port 443 is open for requests. You can rely on Google services for trusted logins.

The list of solved restrictions:
- there is no possibility to use cron jobs. It is solved by moving to the outside and calling special URLs of your application.
- no image processing. The Python Imaging Library does not work, as part of the library is written in C. Write your own image processing in pure python.
- tie to Google Accounts. Each time you login to your application, users will know about your choice of Google App Engine. I do not see any particular problems. Positive moment - the best advertising positioning in AdSence.
- slow scan tables. BigTable is not MySQL. We read documentation - we change thinking. If your queries are executed slowly, then most likely you are using the tool incorrectly. Look at the examples, think over the architecture again.
- need constant interaction with the host. There is only one way to run the code with all the features of the environment - to upload it to the server. This is inconvenient because you cannot “raise” the project locally.

Cross-post from the site: www.pleso.net/ru/publications/2008/04/17/google-app-engine , author - scater

Internet sources:
community.livejournal.com/evan_tech/248465.html
www.niallkennedy.com/blog/2008/04/google-app-engine.html
www.tomstechblog.com/post/2008/04/Google-App-Engine-Free-and-still-barely-worth-it.aspx

Source: https://habr.com/ru/post/23673/


All Articles