SlideShare uma empresa Scribd logo
1 de 45
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)
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

Mais conteúdo relacionado

Semelhante a Django At The AJC

Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...
Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...
Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...graemecoleman
 
Dct group design portfolio
Dct group design portfolioDct group design portfolio
Dct group design portfolioElena Henkel
 
Cyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital WorldCyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital Worldqubanewmedia
 
Toward a Free Press: An Online Publisher's Toolkit
Toward a Free Press: An Online Publisher's ToolkitToward a Free Press: An Online Publisher's Toolkit
Toward a Free Press: An Online Publisher's ToolkitChristopher Spencer
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in DrupalJeff Eaton
 
The Ins, Outs, and Nuances of Internet Privacy
The Ins, Outs, and Nuances of Internet PrivacyThe Ins, Outs, and Nuances of Internet Privacy
The Ins, Outs, and Nuances of Internet PrivacyeBoost Consulting
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...javier ramirez
 
Ba Session3
Ba Session3Ba Session3
Ba Session3CMoz
 
Site Search Analytics
Site Search Analytics Site Search Analytics
Site Search Analytics Stefan Thies
 
Talent42 2017 2007 Called Chris Hoyt
Talent42 2017 2007 Called Chris HoytTalent42 2017 2007 Called Chris Hoyt
Talent42 2017 2007 Called Chris HoytTalent42
 
Maow london
Maow londonMaow london
Maow londonosunick
 
Web2 Presentation
Web2 PresentationWeb2 Presentation
Web2 PresentationErwin Huang
 
SNA for Recruitment - Pivotal Lunch Talk
SNA for Recruitment - Pivotal Lunch TalkSNA for Recruitment - Pivotal Lunch Talk
SNA for Recruitment - Pivotal Lunch TalkMatt Wright
 
Open ID and Django
Open ID and DjangoOpen ID and Django
Open ID and Djangonathanflorea
 
Government Next: NIC Presentation
Government Next: NIC PresentationGovernment Next: NIC Presentation
Government Next: NIC PresentationTara Hunt
 
Special:Contributions/newbies
Special:Contributions/newbiesSpecial:Contributions/newbies
Special:Contributions/newbiesBrianna Laugher
 

Semelhante a Django At The AJC (20)

Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...
Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...
Tales from the Accessibility Trenches - Highland Fling talk, Edinburgh, 19th ...
 
Dct group design portfolio
Dct group design portfolioDct group design portfolio
Dct group design portfolio
 
Cyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital WorldCyber Threats and Data Privacy in a Digital World
Cyber Threats and Data Privacy in a Digital World
 
Polc 2007
Polc 2007Polc 2007
Polc 2007
 
Toward a Free Press: An Online Publisher's Toolkit
Toward a Free Press: An Online Publisher's ToolkitToward a Free Press: An Online Publisher's Toolkit
Toward a Free Press: An Online Publisher's Toolkit
 
Building Twitter in Drupal
Building Twitter in DrupalBuilding Twitter in Drupal
Building Twitter in Drupal
 
Innotech2008
Innotech2008Innotech2008
Innotech2008
 
Innotech2008
Innotech2008Innotech2008
Innotech2008
 
The Ins, Outs, and Nuances of Internet Privacy
The Ins, Outs, and Nuances of Internet PrivacyThe Ins, Outs, and Nuances of Internet Privacy
The Ins, Outs, and Nuances of Internet Privacy
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
 
Ba Session3
Ba Session3Ba Session3
Ba Session3
 
Site Search Analytics
Site Search Analytics Site Search Analytics
Site Search Analytics
 
Talent42 2017 2007 Called Chris Hoyt
Talent42 2017 2007 Called Chris HoytTalent42 2017 2007 Called Chris Hoyt
Talent42 2017 2007 Called Chris Hoyt
 
Rails Conf Talk Slides
Rails Conf Talk SlidesRails Conf Talk Slides
Rails Conf Talk Slides
 
Maow london
Maow londonMaow london
Maow london
 
Web2 Presentation
Web2 PresentationWeb2 Presentation
Web2 Presentation
 
SNA for Recruitment - Pivotal Lunch Talk
SNA for Recruitment - Pivotal Lunch TalkSNA for Recruitment - Pivotal Lunch Talk
SNA for Recruitment - Pivotal Lunch Talk
 
Open ID and Django
Open ID and DjangoOpen ID and Django
Open ID and Django
 
Government Next: NIC Presentation
Government Next: NIC PresentationGovernment Next: NIC Presentation
Government Next: NIC Presentation
 
Special:Contributions/newbies
Special:Contributions/newbiesSpecial:Contributions/newbies
Special:Contributions/newbies
 

Último

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

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)
  • 16.
  • 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