Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Django At The AJC

on

  • 2,788 views

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

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

Statistics

Views

Total Views
2,788
Views on SlideShare
2,778
Embed Views
10

Actions

Likes
1
Downloads
14
Comments
1

4 Embeds 10

http://coderwall.com 4
http://www.slideshare.net 3
https://www.linkedin.com 2
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Django At The AJC Django At The AJC Presentation Transcript

  • 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 billionpageviews a year!†
  • Make you totally badass:
    - Add our architecture to your repertoire so you can serve one billionpageviews 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 billionpageviews 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)
  • Search
    Weather
    Buzz (interesting news)
    Slider
    Videos
    Twitter
    Most viewed
    stories/galleries
    Stocks
    Feedback
  • 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
  • WeBrad Fitzpatrick
    We’re currently running:
    - Memcached
    - Perlbal
    - Gearman
    - MogileFS
    Not yet:
    - DJabberd
  • Tools
    • IRC
    • Basecamp
    • Buildbot
    • Capistrano
    • Subversion (git? hg?)
  • Troubles
    Authentication:
    Builtindjango.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?