After a long period of silence, I'm back! About a year ago I transitioned to oDesk, where I got the chance to learn and implement many new technologies.
The new oDesk visitors site (ie whatever the user sees before they signup) is built on a django stack, using apache and running on multiple EC2 instances, with an RDS backend. We also use continuous integration with jenkins and have an automated deployment process which allows us to easily push our code changes in multiple servers seamlessly. In our FE we are using HTML5, Compass and OOCSS to make our code cleaner and more reusable and django compressor to minify it.
The road was long, rough and exciting. I learned way too many things and still learning during this project...since its not over yet. :)
I'll try to share my experiences in the following months, but for now please browse through the odesk site as a visitor and enjoy the experience.
Stay tuned for more updates.
Congratulations on the launch!ReplyDelete
What do you use to test your django views?
We use django's test client and also run selenium tests (https://docs.djangoproject.com/en/dev/topics/testing/?from=olddocs#django.test.LiveServerTestCase) via jenkins.Delete
We also implemented FLB (http://code.google.com/p/fighting-layout-bugs/) which is not perfect yet but we are working with the library's author to fix bugs. Pretty cool tool! :)
Nice! When are you launching in multiple languages using Transifex?ReplyDelete
Just wonder why do you still using apache? nginx + uwsgi or gunicorn is much faster and stable. Also eats less resources.ReplyDelete
For static files I'm using django-pipeline.
Glad oDesk runs on django.
Actually Eugene we do use nginx as our LB in front of our EC2 instances. To be honest I recently found out about gunicorn and it is in my long TODO list to benchmark and see if it performs better in our application. If it does, promise that we'll move there and will let you guys know! :)Delete
For static files, we let apache serve them directly and also we use s3 buckets to store user-generated static content (in static pages).