Welcome to the OpenShift Developer Spotlight where we try get to know the members of the OpenShift community a little better. Interested in being featured? Apply here.
View the Developer Spotlight page to see past entries and the Application Gallery to check out the cool apps the OpenShift Community is building.
Name: Alexander Todorov
Hometown: Sofia, Bulgaria
Twitter and Blog: @ atodorov_ | http://dif.io/blog
Primary development language(s): Python
Technology you're most interested in right now: Still learning all the internals of Django, Node.js and Clojure.
Application currently hosted on OpenShift: Difio
Technologies used: Python, Django, Celery, Amazon SQS, Amazon SES, Amazon S3, Amazon CloudFront, and Amazon EC2
Difio is written in Python, using the awesome Django framework. Its design is distributed with all components running in the cloud. All parts of the application are independent of each other and can be hot-swapped at any time.
Django is used for the application backend and pages which require authentication. All public pages are static and served through Amazon S3 and CloudFront CDN using OpenShift as the data origin server.
Workload is handled by Amazon EC2 instances using Celery and Amazon SQS for the messaging layer.
What's it do?
"If an application works, any change in its libraries or the versions of those libraries can break the application." - virtualenv
Difio keeps track of application dependencies and tells you when they change. We let you inspect the changes and make informed decision when or what to upgrade.
Difio supports Python, Perl, PHP, Ruby, Node.js and Java and has some really cool features like API diff.
What motivated you to create the application?
I'm a loyal user of Red Hat Enterprise Linux because of its backward compatibility and stability. When I started developing in the cloud I quickly realized that all software packages are coming from upstream and they change too often. I've seen some Node.js packages release several times a week for example.
At that time there was no tool, I knew off, which could let me inspect the changes and decide whether to upgrade or not. Also unlike compiled languages, interpreted languages like Python don't show you if some method definition has changed. It all comes at runtime and needs rigorous testing.
Following all these dependencies and testing everything again and again proved to be too much for a single developer and small start up style projects. So I decided to hack something up and this is how Difio was born. I pushed the code to OpenShift very shortly afterwards and its been growing ever since.
What are the most compelling features of OpenShift?
Please see my answer for "What motivated you to create the application?"
What are some features you'd like to see in OpenShift?
Currently 2 of the Top 3 ideas are mine, please add them :) (See https://www.openshift.com/ideas)
I'd love to see things like WebSockets, a cartridge marketplace, more statistics and analytical data for applications just to name a few.