Django at the AJC
Evil for Awesome™
Who am I?
Zellyn Hunter
Sr. Web Developer
“zellyn” on almost every internet site (I forgot my aol
password, so I’m zellynh...
Make you totally badass!
Make you totally badass!
…like a fluffy pink pony…
Make you totally badass!
Make you totally badass:
- Add our architecture to your repertoire so you
can serve one billion pageviews a year!†
Make you totally badass:
- Add our architecture to your repertoire so you
can serve one billion pageviews a year!†
- See w...
Make you totally badass:
- Add our architecture to your repertoire so you
can serve one billion pageviews a year!†
- See w...
Who are we?
Who are we?
The “Online Development Group”
Who are we?
The “Online Development Group”
- 1 manager, 4 developers
- shared: 1 DBA, 1 sysadmin, 1 tester
- occasional: 1...
What do we do?
What do we do?
Everything except:
What do we do?
Everything except:
main CMS - big, corporate, Java
What do we do?
Everything except:
main CMS - big, corporate, Java
“classifieds” - ruby on rails
(we’ll discuss this later)
SearchWeather
Buzz (interesting news)
Slider
Twitter
Videos
Most viewed
stories/galleries
Feedback
Stocks
What do we do?
Interactive applications.
What do we do?
Interactive applications.
Last-minute,
What do we do?
Interactive applications.
Last-minute, breaking-news,
What do we do?
Interactive applications.
Last-minute, breaking-news, quick-turnaround,
What do we do?
Interactive applications.
Last-minute, breaking-news, quick-turnaround,
crazy deadlines,
What do we do?
Interactive applications.
Last-minute, breaking-news, quick-turnaround,
crazy deadlines,
NO!
What do we do?
Interactive applications.
Last-minute, breaking-news, quick-turnaround,
crazy deadlines,
NO!
Reusable
^
What do we do?
Interactive applications:
Periodic use:
- Election Results
- Peachtree Road Race Results
- Predict-the-outc...
What do we do?
Interactive applications:
Data-only Updates:
- Home sales report
- Georgia Baby Names
What do we do?
Interactive applications:
Tools for the newsroom:
- Maps - Slider
- Contests - Buzz
- Alerts - Promotions i...
What do we do?
Interactive applications:
Constant use:
- Galleries
- Vent
- Recipes
What do we do?
Interactive applications:
Third-party content:
- Destinations (Frommers)
- Topic Pages
What do we do?
Interactive applications:
Lots of Plumbing:
- Caching - Search
- Broken links log - Stocks
- User feedback ...
What do we do?
Interactive applications:
Blogs:
- Wordpress MU
What do we do?
Interactive applications:
Blogs:
- Wordpress MU (sorry)
What do we do?
All told, we serve ¼ to ⅓ of site traffic.
What people outside our group think we
do:
What people outside our group think we
do:
Galleries
What people outside our group think we
do:
Galleries
(60% of our group’s traffic)
What the Rails folks do
“Classifieds Development Group”
- AJC Exchange
- Homefinder
(neighborhood profiles, school guide,
...
Architecture
- Three python servers: Apache/WSGI/Django
- Two static media servers
- Two MySQL servers (one read-only, rep...
We Brad Fitzpatrick
We’re currently running:
- Memcached
- Perlbal
- Gearman
- MogileFS
Not yet:
- DJabberd
Tools
- IRC
- Basecamp
- Buildbot
- Capistrano
- Subversion (git? hg?)
Troubles
Authentication:
Builtin django.contrib.auth has fixed ideas:
- username-based
- sharing email addresses is possib...
Wins
• Built-in admin views for everything
• RSS all over the place
• Caching, caching, caching
Questions?
Questions?
Django At The AJC
Django At The AJC
Upcoming SlideShare
Loading in...5
×

Django At The AJC

1,774

Published on

A short talk given at PyATL on the use of Django at the AJC. Video available at http://blip.tv/file/2805912/

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,774
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Django At The AJC"

  1. 1. Django at the AJC Evil for Awesome™
  2. 2. Who am I? Zellyn Hunter Sr. Web Developer “zellyn” on almost every internet site (I forgot my aol password, so I’m zellynhunter there)
  3. 3. Make you totally badass!
  4. 4. Make you totally badass! …like a fluffy pink pony…
  5. 5. Make you totally badass!
  6. 6. Make you totally badass: - Add our architecture to your repertoire so you can serve one billion pageviews a year!†
  7. 7. Make you totally badass: - Add our architecture to your repertoire so you can serve one billion pageviews a year!† - See what we’ve done with Django, so you know what’s possible
  8. 8. Make you totally badass: - Add our architecture to your repertoire so you can serve one billion pageviews a year!† - See what we’ve done with Django, so you know what’s possible - Learn from our struggles and know the tricky areas ahead of time
  9. 9. Who are we?
  10. 10. Who are we? The “Online Development Group”
  11. 11. Who are we? The “Online Development Group” - 1 manager, 4 developers - shared: 1 DBA, 1 sysadmin, 1 tester - occasional: 1 VM ninja
  12. 12. What do we do?
  13. 13. What do we do? Everything except:
  14. 14. What do we do? Everything except: main CMS - big, corporate, Java
  15. 15. What do we do? Everything except: main CMS - big, corporate, Java “classifieds” - ruby on rails (we’ll discuss this later)
  16. 16. SearchWeather Buzz (interesting news) Slider Twitter Videos Most viewed stories/galleries Feedback Stocks
  17. 17. What do we do? Interactive applications.
  18. 18. What do we do? Interactive applications. Last-minute,
  19. 19. What do we do? Interactive applications. Last-minute, breaking-news,
  20. 20. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround,
  21. 21. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround, crazy deadlines,
  22. 22. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround, crazy deadlines, NO!
  23. 23. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround, crazy deadlines, NO! Reusable ^
  24. 24. What do we do? Interactive applications: Periodic use: - Election Results - Peachtree Road Race Results - Predict-the-outcome (Oscars) - Executive Pay - Victims database
  25. 25. What do we do? Interactive applications: Data-only Updates: - Home sales report - Georgia Baby Names
  26. 26. What do we do? Interactive applications: Tools for the newsroom: - Maps - Slider - Contests - Buzz - Alerts - Promotions in sidebar - Quizzes - Twitter - Hot-or-not - “CMS Lite”
  27. 27. What do we do? Interactive applications: Constant use: - Galleries - Vent - Recipes
  28. 28. What do we do? Interactive applications: Third-party content: - Destinations (Frommers) - Topic Pages
  29. 29. What do we do? Interactive applications: Lots of Plumbing: - Caching - Search - Broken links log - Stocks - User feedback - Weather - Auto-linking - User registration - Support tickets - Work queues - Feeds (transforming, caching)
  30. 30. What do we do? Interactive applications: Blogs: - Wordpress MU
  31. 31. What do we do? Interactive applications: Blogs: - Wordpress MU (sorry)
  32. 32. What do we do? All told, we serve ¼ to ⅓ of site traffic.
  33. 33. What people outside our group think we do:
  34. 34. What people outside our group think we do: Galleries
  35. 35. What people outside our group think we do: Galleries (60% of our group’s traffic)
  36. 36. What the Rails folks do “Classifieds Development Group” - AJC Exchange - Homefinder (neighborhood profiles, school guide, periodically updated home sales data) - Vacation rentals - User Registration backend (Merb)
  37. 37. Architecture - Three python servers: Apache/WSGI/Django - Two static media servers - Two MySQL servers (one read-only, replicated) - Two NFS cluster servers - Two memcached servers - Two rails servers - Three PHP servers - Akamai
  38. 38. We Brad Fitzpatrick We’re currently running: - Memcached - Perlbal - Gearman - MogileFS Not yet: - DJabberd
  39. 39. Tools - IRC - Basecamp - Buildbot - Capistrano - Subversion (git? hg?)
  40. 40. Troubles Authentication: Builtin django.contrib.auth has fixed ideas: - username-based - sharing email addresses is possible The Ruby guys beat us to the punch: - external system of record for user registration
  41. 41. Wins • Built-in admin views for everything • RSS all over the place • Caching, caching, caching
  42. 42. Questions?
  43. 43. Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×