Introducing Openshift : Heroku Replacement for Your Next Killer Python Web Application

Openshift, founded in May, 2011
Click here to register to Openshift and get your Free plan consisting of 3 applications, each having 1GB space quota

If you already familiar enough with web application, I bet you know that finding a cheap (yes, cheap must come first) and reliable (then come reliability) hosting service for your PHP application is very easy. It is because PHP, or to be exact LAMP stack (Linux+Apache MySQL+PHP) is the most popular technology stack in developing web application. An annual charge for a LAMP stack is very affordable. But the same is not applied if you try to build your web application with technology stack other than LAMP, such as Ruby, Java or Python. A traditional approach to host a web application other than PHP is to have yourself a VPS account from an internet hosting provider such as DigitalOcean, which often they don't come with a free plan. In my experience, a free plan is important, as it allows you to get test your application on the internet for free. And having a VPS will require you to manage and install all your application related library, framework and application by yourself.

If you are like me, in some point in your search of a free hosting for your Python application, I am sure you will stumble upon Heroku. It is a Platform as a Service (PaaS) solution already live long enough that host many great web application. It lets you focus on your application, instead of worrying about your server installation and maintenance. It come with a free 1 Dyno, which is a unit of your application instance running to serve request. Their free plan may change in the future, but currently a free plan of unverified account has 5 free applications limit. Beside free applications, heroku also come with the concept of add-ons, where you can add any available technology to your currently running application such as : PostgreSQL, MongoDB, MySQL, Redis, Hadoop and many more. Some include a free plan, others don't. Heroku have its own Heroku toolbelt, which is a CLI application dealing with management of your application. It really is fun working with Heroku!

But, in the context of free plan, Heroku has a very great limitation. In my opinion, it is a deal breaker. Those are :

  1. A free plan for PostgreSQL (or may also other database, haven't check it yet), consist of a 5MB size limitation. What can you do with only 5MB database size?
  2. A free application may not store user uploaded file. So, if you try to build a some kind of  Facebook killer application (go on, dream on...) your user will not be able to upload their avatar.
  3. Lastly, a free application has 100MB quota for disk space size including all library, framework and application code.

Actually, I have tried to built an application in Heroku, trying to neglect that 5MB limitation on PostgreSQL. But, I simply can't continue working with a free plan. So, my search for a great free plan of my Python web application continues. And .. I ended up in Openshift.

In term of Platform as a Service solution, Openshift come with all Heroku synonyms, but with a generous free plan : "Three applications, each having 1Gb space quota including your framework, library, application code, database and user uploaded files". In my opinion, you can really create a real world solution with just a free plan. I know, cool isn't? Cool 

As I said Openshift come with all Heroku synonyms, it means that in Openshift you will found the same thing such as Gear (==Dyno) and Cartridge(==add ons). It also come with a CLI application where you can easily manage your application. This mean, all you can do with Heroku, you can do it also with Openshift.. only more generous.

My next article will guide you on really creating a functional application in Openshift using Python Flask + SQL Alchemy + PostgreSQL + Bootstrap. My plan is quite ambitious : you only need my series of articles to fully start you first way on working with a Python web application in Openshift.


Stay tuned! 




Leave comments

authimage
  • Quote:
    "And having a VPS will require you to manage and install all your application related library, framework and application by yourself. "

    PaaS has it's place but if you do not know how to install / manage the server environment your development as a programmer will be limited.

    • Jim
  • Hi Mateus,

    Great!
    I think I failed to mentioned Openshift open door policy in its development platform, which in contrast with Heroku with its vendor lock-in strategy. Totally ease the burden in vendor opting strategy.

    Which in turn, it leads me to think adopting Openshift as a provider exactly like you already did. Exploring getupcloud.com now!

    • eko
  • As a pythonist I'm very excited to see python community discovering this amazing platform.

    One stunning aspect of Openshift is application portability. If you choose Heroku, you sticky with them. There is no other heroku-like service to migrate.

    On the other hand, OpenShift, while an open-source project (see https://github.com/openshift/), allows for users to migrate its applications simply by pointing and pushing your code to another provider.

    I'm pretty sure that soon will be plently of Openshift public offers. It's only a matter of time. In fact, I did build my own public PaaS: getupcloud.com. We offer a free 750h trial with 3GB storage/gear.

    Hope to see more initiatives on adopting OpenShift, either as a consumer or as a provider.

    • Mateus Caruccio

Copyright(c) 2014 - PythonBlogs.com
By using this website, you signify your acceptance of Terms and Conditions and Privacy Policy
All rights reserved