SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Dernier

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 

Dernier (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 

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