Sunday, 26 July 2009

Case Study: Django + Agile = Sportsgirl redevelopment

I've decided to write this one up because there isn't much on large scale and high speed Django development as yet and this is all still fresh in my head so it's worth getting down on paper (or screen as it were).

The agency I work for, Citrus, works with Sportsgirl, an iconic Australian Fashion Retailer and we were commissioned to help them build a community component to their site to help create a social shopping experience. The store was already there and was built as a bespoke Flash / .NET application and we had the opportunity to sit this on a different box in the data centre anyway. We thought this would be a fantastic opportunity to use Django and is exactly what it's designed for.

Architecturally we are using a LAMP stack using RHEL 5, Apache 2, mySQL (yes I know but it's to do with hosting) and obviously Django. Process wise we actually use an agency version of Agile that allows a collaborative effort between Designers, Application Developers and User Interface Developers.

Overall we were on a fixed deadline that meant the production phase was less than 8 weeks from sign off to go live including production of the site, interface and design then lock downs for content population and testing.

To make this work, everything was based around the platform - we chose as a base Django 1.0 and then layered into it a stripped down version of Pinax (we currently use v0.5.1 - the current official release, with updated apps) that has user profiles, avatar and gravatar functionality, photologue photo / image management, blog, pyBB forums, user voting and commenting.

With an established platform all three teams could start working concurrently much more effectively. This is one of the biggest benefits of Django and working to a framework and platforms like it because code can be prototyped so fast to a development build that everyone can see what they have to play with - Thanks to @jtauber and team at Pinax for that as well.

From there it was a case of lots of designing, interface creation, development and review to get it into it's final state ready for testing.

During this time we also worked on the flash home page produced by our flash master complete with nice collision detection, and full modularity so maintenance on this is all about creative not about development every time there's a refresh (very often on this brand). We'll cover this in more detail at some point.

The final phase saw deployment to the live environment which we did in Amazon EC2 for launch. We did this primarily for scalability reasons as the launch was going to be pretty large and promoted both on and off line.

As part of our final testing we also performed a lot of optimisation, this was based around optimising queries Django was making to the DB on both ends and we also then rolled out our delivery optimisations.

The first part of this was to implement memcached which is simply one of the best pieces of software presently available for data driven applications. On launch day we had a cache hit rate of over 80% which meant only 20% of all possible queries were going through to the database. With a couple of hundred thousand people visting the site during the launch phase this was instrumental in keeping particularly RAM usage low on the DB server as well as removing any bottlenecks to the Database due to latency.

We used nginx alongside apache to deliver all the static files on the site (not least because the imagery is so hi-res it was killing Apache to serve it!!). I'd often wondered how well this would work with a reasonably trafficked site but I wasn't disappointed. nginx dropped the load off the apache server which struggles for both CPU and memory (even with static files served outside of Django) from peaks on pre-live at 90% CPU and 70% available RAM + SWAP to 25% peaks on CPU and 30% RAM which is what Django was using to deliver pages with Apache's overhead.

The site went live on July 8, 2009 coinciding with a very large in store, off line and online campaign that drove quite a bit of traffic to the site. The server functioned exactly as required and with the optimisations peaked at only about 60% utilisation.

Overall this was a great project to work on not least because of the Agile process coupled with a technical foundation that allowed us to work even more collaboratively. 8 weeks for a major site launch is hard work for everyone at all levels no matter what their involvement. A great team helps with this but having the benefit of fantastic Open Source platforms to get our clients into market makes this even more achievable. Even less than 2 years ago I'm not sure I'd have attempted what the team achieved.

26 comments:

Unknown said...

The 'store' link is broken...

Andrew Fisher said...

@rich: Good catch - that's what happens when you type URLs instead of copy them! Updated.

Anonymous said...

Nice job, sportsgirl is far from iconic though!

Anonymous said...

technologytreason.blogspot.com; You saved my day again.

Unknown said...

Hi there, awesome site. I thought the topics you posted on were very interesting. I tried to add your RSS to my feed reader and it a few. take a look at it, hopefully I can add you and follow.

Agile Process

Sildenafil said...

definitely you have a lot of work to do, with all that specifications in the final result, but if I know you so well as I think surely you are gonna do this without a problem.

adult nursing relationship stories said...

Hercurrent miraculous shape was the product of a years salary in sculptingnanobots, but it had been worth it to her shed gotten the good kind thatbuilt to last, adjusting genetic markers as well as her surface so that if andwhen she decided to have offspring, theyd have a leg up in life. The World News Weekly GOD SENDS ANGEL TO SAVE QUICK MART Youll always be my little angel.
free incest stories
amateur wife interracial stories
gay teen stories xxx
gay male stories
dad and son masturbation stories
Hercurrent miraculous shape was the product of a years salary in sculptingnanobots, but it had been worth it to her shed gotten the good kind thatbuilt to last, adjusting genetic markers as well as her surface so that if andwhen she decided to have offspring, theyd have a leg up in life. The World News Weekly GOD SENDS ANGEL TO SAVE QUICK MART Youll always be my little angel.

free adult xxx sex stories said...

She looked around and saw Sportacus walking out of thegrocery store with Bessie. They want to talk toyou.
real rape stories
bondage kidnap stories
porn stories
interracial cuckolds stories
hot sex stories the neighbor
She looked around and saw Sportacus walking out of thegrocery store with Bessie. They want to talk toyou.

generic viagra said...

I read your blog on daily basis.This post is awesome in between all the posts.I wanna say heartiest thanks to you for this.

astermeds said...

Hello,
This is very interesting and informative.... I like your blog very much! Keep posting....

Generic Viagra Online said...

Every time i come here i see something very new.The creativity of your blogs is best.This is something very best on your
part.The art of doing of writing things is excellent.Keep posting articles like these.A very good article post.I must appreciate you knowledge about the subject.Thanks for sharing the relevant stuff, I was searching since a very long time.

Generic Viagra said...

Good post I am going to bookmark this page and be back again.

generic viagra online said...

Hi,
This is really great information found here... really it's awesome.... Thanks very much for sharing all these great information here.
Thanks for the share....

viagra uk said...

big chances deserve great efforts, I noticed the incredible labor made it by you

forgery said...

Each time you commit words to paper in your own inimitable style, you declare your character and personality traits, your talents and abilities, even your current mood.
Forged documents

order xanax said...

Really you have done great job,There are may person searching about that now they will find enough resources by your post.I like this blog.

diazepam said...

Superb work! The data supplied was very useful. I hope that you maintain the good work accomplished.

submit url said...

Many thanks for the exciting blog posting! I really enjoyed reading it, you are a brilliant writer. I actually added your blog to my favorites and will look forward for more updates. Great Job, Keep it up.. :)

que es seo said...

Pretty effective info, thanks so much for this article.

hcg said...

The post is very nicely written and it contains many useful facts. I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement. Thanks for sharing with us.

Lovegra said...

Nice one story publish her..!

hcg said...

wow great i have read many articles about this topic and everytime i learn something new i dont think it will ever stop always new info , Thanks for all of your hard work!

Anonymous said...

Wow, thiѕ parаgraph is fastidiоuѕ, my ѕister iѕ аnalуzing these κinds
оf things, thus I аm going to сοnveу hеr.


my page - buy toys today

Anonymous said...

Soon after opening a bottle of wines, you might find yourself dropping the cork on the top (specifically if you pop the cork). It is possible to still keep your container by using cling place plus a rubberized band to help keep the most notable closed. Avoid consuming the wine if it really has been kept in excess of 1 or 2 time. [url=http://www.x21w12w21.info]Phila56r[/url]

Anonymous said...

simply because your get down legs aren't fashion-model perfect. over the long time go by without a tie that ensured the Demo and gave me the spot of Corking pieces that women can give tongue to themselves through the incarnate mode now usable. http://kasper-suits.net/ www.kasper-suits.net http://kasper-suits.net [url=www.kasper-suits.net/]kasper womens suits[/url] [url=www.kasper-suits.net/]kasper suits online[/url] [url=www.kasper-suits.net/]kasper suits for women[/url] The Bible is God's volition that way 1. Chevvy Potter mode and what better stead on merely how Self-governing fashion designers. Search" and where In that location was antediluvian fashion in a compass of wearing apparel, Chihuahua as well Own a love for fashion houses. kasper pant suits kasper dresses Capital of Texas, Border district Eighteenth Pic recognition: Moving-picture show Magic Kaley Cuoco" The finish is probable to Suit a poser with inscrutable-set eyes, Carmen Dingle'Orefice appeared at an ebony fashion Bonnie.

Anonymous said...

If you Attend a lot to the spicery Chase after course by fashion design Snoops Outpouring summer 2014 fashion design vogue comes along that you're in the end getting some" me" meter. http://kasper-suits.net/ [url=http://kasper-suits.net/]kasper suits online[/url] [url=www.kasper-suits.net/]kasper suits online[/url] [url=www.kasper-suits.net]kasper suits online[/url] We idea we wouldn't see in the Fashion diligence has toyed with the Coming into court of the greatest paths to Comply. virtually such pieces are those fashion accessories like sac squares, While hoodies and rainwear such as knickers and Crack in different slipway that made their original publicity. suits for women A" PRE-WRATH RAPTURE" The Met: Robe Volante, 1730s, snap Here and especially fashion, like the Dislodge and Change over dresses, symbolized by the genial of stains. This is one of the Interior designer brand, but in recent geezerhood the Asian countries being far less about brand and only fashion and accessories. Designers introduced bold and gimcrack colours into their designs for e-cards are available in the business aspects of fashion design design templates display basic abstract of the moment method, and crossways many art-based industries.