From PHP to Python
I started my journey with PHP in 2016 when I began to explore developing applications on Google App Engine. At that point, App Engine did not have good support for .NET so I was forced to learn another open-source language and I chose PHP instead of Python since there were a lot of open source products and frameworks on PHP that were easy to master. App Engine also supported raw PHP but it did not support any frameworks of PHP officially.
I took CodeIgniter 3 and customized it to run on App Engine. I explained how I did that on my personal website here. The CodeIgniter framework was good for basic applications but for data-intensive applications that involved writing complex queries it was not suitable and the ORM in CodeIgniter was still maturing in 2017 so we decided to explore Laravel.
Laravel was very good. We used it in our projects. Version 5 and 6 were good and we were able to run it on Google App Engine without any problems. Starting Laravel 7 we are having issues in making Laravel run on App Engine. The performance of Laravel is very slow even for pages that don’t connect to the database. Our developers thought that the community documentation of Laravel on App Engine was an official endorsement from Google Cloud.
The main limitation we are not able to solve as of now in Laravel 7 and above is the views are getting precompiled and stored by Laravel framework on disk and this cannot be done on App Engine and hence each request goes thru the same lifecycle again and again and takes longer. The PHP itself we feel is tough to work with compared to modern languages.
We are moving to Python and the main reason is that the Django framework has been officially supported by Google App Engine for more than 7 years. This is the deciding factor for us. Right from day one our target was to develop applications that run on Google Cloud. Django framework is awesome and it is very promising to develop complex applications and backends for mobile applications.
We are evaluating Django on App Engine for further optimizations and its integration with other Google Cloud services. So far it is promising. Google has also provided official documentation on how to run Django on App Engine, Compute Engine, Kubernetes, and Cloud Run. You can read them here.
We are very excited about this new possibility and hope to help our clients develop solutions using Django that run economically on Google Cloud. Let us know your thoughts on this and share your experience.
Founder & CEO
H.Thirukkumaran has over 20 years of experience in the IT industry. He worked in US for over 13 years for leading companies in various sectors like retail and ecommerce, investment banking, stock market, automobile and real estate He is the author of the book Learning Google BigQuery which explains how to build big data systems using Google BigQuery. He holds a masters in blockchain from Zigurat Innovation and Technology Business School from Barcelona Spain. He is also the India chapter lead for the Global Blockchain Initiative a non-profit from Germany that provides free education on blockchain. He currently lives in Chennai India.