SlideShare a Scribd company logo
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 zellynhunter there)
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 what we’ve done with Django, so you
know what’s possible
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
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 VM ninja
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)
Django At The AJC
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-outcome (Oscars)
- Executive Pay
- Victims database
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 in sidebar
- Quizzes - Twitter
- Hot-or-not - “CMS Lite”
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 - Weather
- Auto-linking - User registration
- Support tickets - Work queues
- Feeds (transforming, caching)
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,
periodically updated home sales data)
- Vacation rentals
- User Registration backend (Merb)
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
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 possible
The Ruby guys beat us to the punch:
- external system of record for user registration
Wins
• Built-in admin views for everything
• RSS all over the place
• Caching, caching, caching
Questions?
Questions?
Django At The AJC

More Related Content

PPTX
德国 Germany
PPT
PPT
Сайт компании как инструмент маркетинговой коммуникации с потребителем
PDF
Как начать и не сорваться? Правильное питание и тренировки
PPTX
Oil Prices and Cereal Production
PPTX
Neige château
PPT
Поисковая оптимизация сайта: с чего начать
PDF
Isset Presentation @ EECI2009
德国 Germany
Сайт компании как инструмент маркетинговой коммуникации с потребителем
Как начать и не сорваться? Правильное питание и тренировки
Oil Prices and Cereal Production
Neige château
Поисковая оптимизация сайта: с чего начать
Isset Presentation @ EECI2009

Similar to Django At The AJC (20)

DOCX
Company Visitor Management System Report.docx
KEY
The World's Oldest Django Project
PDF
Codebits Handivi
PDF
Getting Started With Django
PPT
0.Web Application Architecture.ppt
PPT
Fast, Cheap
PDF
Fixing twitter
PDF
Fixing_Twitter
PDF
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
PDF
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
PPT
Integrity: WordPress Case Study
ODP
Presentasi jlp
PPT
3stages Wdn08 V3
PDF
Why Django
PPT
Integrity St. Louis WordCamp 2012
PDF
Things that go bump on the web - Web Application Security
PDF
Bentobox exercise by Rails Girls
PDF
Rails Hosting and the Woes
KEY
DjangoCon recap
KEY
WordPress & Other Content Management Systems
Company Visitor Management System Report.docx
The World's Oldest Django Project
Codebits Handivi
Getting Started With Django
0.Web Application Architecture.ppt
Fast, Cheap
Fixing twitter
Fixing_Twitter
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Integrity: WordPress Case Study
Presentasi jlp
3stages Wdn08 V3
Why Django
Integrity St. Louis WordCamp 2012
Things that go bump on the web - Web Application Security
Bentobox exercise by Rails Girls
Rails Hosting and the Woes
DjangoCon recap
WordPress & Other Content Management Systems
Ad

Recently uploaded (20)

PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
August Patch Tuesday
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
1. Introduction to Computer Programming.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Encapsulation theory and applications.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Accuracy of neural networks in brain wave diagnosis of schizophrenia
1 - Historical Antecedents, Social Consideration.pdf
August Patch Tuesday
cloud_computing_Infrastucture_as_cloud_p
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
A comparative analysis of optical character recognition models for extracting...
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25-Week II
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Approach and Philosophy of On baking technology
1. Introduction to Computer Programming.pptx
SOPHOS-XG Firewall Administrator PPT.pptx
Hybrid model detection and classification of lung cancer
Hindi spoken digit analysis for native and non-native speakers
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Encapsulation theory and applications.pdf
Ad

Django At The AJC

  • 1. Django at the AJC Evil for Awesome™
  • 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)
  • 4. Make you totally badass! …like a fluffy pink pony…
  • 6. Make you totally badass: - Add our architecture to your repertoire so you can serve one billion pageviews a year!†
  • 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. 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
  • 10. Who are we? The “Online Development Group”
  • 11. Who are we? The “Online Development Group” - 1 manager, 4 developers - shared: 1 DBA, 1 sysadmin, 1 tester - occasional: 1 VM ninja
  • 12. What do we do?
  • 13. What do we do? Everything except:
  • 14. What do we do? Everything except: main CMS - big, corporate, Java
  • 15. What do we do? Everything except: main CMS - big, corporate, Java “classifieds” - ruby on rails (we’ll discuss this later)
  • 17. SearchWeather Buzz (interesting news) Slider Twitter Videos Most viewed stories/galleries Feedback Stocks
  • 18. What do we do? Interactive applications.
  • 19. What do we do? Interactive applications. Last-minute,
  • 20. What do we do? Interactive applications. Last-minute, breaking-news,
  • 21. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround,
  • 22. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround, crazy deadlines,
  • 23. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround, crazy deadlines, NO!
  • 24. What do we do? Interactive applications. Last-minute, breaking-news, quick-turnaround, crazy deadlines, NO! Reusable ^
  • 25. What do we do? Interactive applications: Periodic use: - Election Results - Peachtree Road Race Results - Predict-the-outcome (Oscars) - Executive Pay - Victims database
  • 26. What do we do? Interactive applications: Data-only Updates: - Home sales report - Georgia Baby Names
  • 27. 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”
  • 28. What do we do? Interactive applications: Constant use: - Galleries - Vent - Recipes
  • 29. What do we do? Interactive applications: Third-party content: - Destinations (Frommers) - Topic Pages
  • 30. 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)
  • 31. What do we do? Interactive applications: Blogs: - Wordpress MU
  • 32. What do we do? Interactive applications: Blogs: - Wordpress MU (sorry)
  • 33. What do we do? All told, we serve ¼ to ⅓ of site traffic.
  • 34. What people outside our group think we do:
  • 35. What people outside our group think we do: Galleries
  • 36. What people outside our group think we do: Galleries (60% of our group’s traffic)
  • 37. 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)
  • 38. 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
  • 39. We Brad Fitzpatrick We’re currently running: - Memcached - Perlbal - Gearman - MogileFS Not yet: - DJabberd
  • 40. Tools - IRC - Basecamp - Buildbot - Capistrano - Subversion (git? hg?)
  • 41. 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
  • 42. Wins • Built-in admin views for everything • RSS all over the place • Caching, caching, caching