SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Voices That Matter:
             Professional Ruby Conference




The many facets of Ruby at
  YELLOWPAGES.COM
YELLOWPAGES.COM, LLC
                                    has changed it’s name

                               (but the site maintains the same branding)



                     so this presentation is now...




© 2008 AT&T Intellectual Property. All rights reserved.
AT&T and the AT&T logo are trademarks of AT&T Intellectual Property.
Voices that Matter
                       Professional Ruby Conference

             The Many Facets of Ruby at AT&T Interactive




© 2008 AT&T Intellectual Property. All rights reserved.
AT&T and the AT&T logo are trademarks of AT&T Intellectual Property.
Who am I?
Coby Randquist
               Director, Web Development
                           at
                    AT&T Interactive

              crandquist@yellowpages.com


Joined the company in April of 2008, after the Big Re-Write
Partner in


                         http://www.confreaks.com

 Expert recording and networking services for conferences, seminars and workshops




Yukihiro ‘Matz’ Matsumoto - speaking at Lone Star Ruby Conference 2008
Founding member of




        http://www.laruby.com
       http://github.com/laruby
Audience Poll


  Self Employed
   0 - 10 in product development
   10 - 25 in product development
   25 + in product development
A bit about us
Lots of small teams
  –   web-tier currently three teams 3-5 developers + manager
  –   HTML CSS team
  –   service-tier 3-5 developers + manager
  –   everyone does TDD
  –   test-automation team 3-5 developers + manager
  –   mobile development teams (being built up)
  –   product teams 4 product managers for web, 1 product manager for
      each mobile platform
  –   creative 3-5 designers + manager - comps
  –   usability 2-3 information architects + manager - wire frames and all
      human use factor analysis
  –   systems architecture 3-5 architects + manager (application support,
      performance)
  –   software architecture 3-5 architects + manager ( web, services,
      windows, search, data)
The many facets of Ruby at AT&T Interactive




   One of the largest sites running on ruby and rails.


    Consistently in the top 30 trafficked web-sites


          27 million monthly unique visitors


                165+ million page views
The Big re-write of YELLOWPAGES.COM
          The re-write for us, is ancient history.

  See John Straw’s presentation from RailsConf 2008 for
                        more details.
  http://en.oreilly.com/rails2008/public/schedule/detail/2082

We replaced the Java based legacy application with a Ruby
 on Rails app and service-tier, that was developed with a
       small team (4 developers + product folks).

          Launched June of 2007 on Rails 1.2.3

    Site has been live on Rails for nearly 18 months.

             Currently running on Rails 2.1.1
How we scaled rails
                      See DHH’s article from
   “It’s boring to scale with Ruby on Rails” from July of 2005
           http://www.loudthinking.com/arc/000479.html

                               Load Balancer

          Data Center                            Data Center

         Load Balancer                          Load Balancer

            Web-Tier                               Web-Tier

         Load Balancer                          Load Balancer

           Service Tier                           Service Tier

         Load Balancer                          Load Balancer
   Search Engine / Oracle Cluster         Search Engine / Oracle Cluster
The web-tier

Ruby on Rails - 8,415 LOC

Approximately 20 servers per data center

16 Mongrels per server

Minimal Active Record

Communicates with the Services Tier

Asset Packaging, Content Distribution Network with Akamai

  and AT&T
The service-tier (today)

Ruby on Rails - 10,108 LOC

Approximately 8 servers per data center

30 mongrels on each server

memcached running on each server

ruby wrapper to our FAST search engine

oracle client for communications with Oracle Clusters
So how else do we use ruby?
Our production environment runs a custom compile of ruby.
 –   the key compilation option is disabling the native thread used for
     timing, leading to a 20-30% performance boost from the reduced
     context-switch overhead (--disable-pthreads). Most distros
     compile with pthreads support to allow compatibility with Tcl/Tk
     libraries, but other than that Ruby 1.8 doesn’t benefit from using
     the extra native thread.
 –   The rest of it is to make life easier for our operation center
 –   Ruby 1.8.6 p114 base + security patches
 –   standalone RPM, doesn’t interfere with OS provided RPM
 –   bundled with Rubygems


We host our own internal gem server to maximize control over
  production environments.
It’s not all rails, or at least it won’t be

Our services tier is currently being re-written on Merb!

Why?

 –   Rails footprint for our app - 60MB per mongrel

 –   Merb footprint for our app - 25MB per mongrel

Performance - testing is not yet complete, but initial results

  are promising enough to do a full re-write.

Effort required 3 developers, approximately 8 weeks.
Mobile platforms and ruby

Native iPhone app available in the App Store, runs against a
  rails service app that sits in front of our service tier.

Same model is in development for other mobile devices
  including the Google Android.
Our commitment to Open Source
Our developers have contributed to Rails, Merb, Sequel, and
  many other open source projects.
We promote community participation, some projects from
  employees of AT&T Interactive:
 –   waves - Resource-oriented open source Ruby framework for
     Web apps
 –   functors - patterned based dispatch for Ruby
 –   kablame - easily summarize who has done how much on work
     on your code base
 –   crufty - find unused code with ease
 –   hoshi - a library for creating real first-class HTML/XML views
 –   live-console - a ruby gem for providing irb over channels other
     than stdio
And even more - Research & Development
AT&T Interactive’s Research & Development group is building
  out waves, and hoshi.

Waves uses bacon as it’s testing framework
They have written a rack handler for jetty, and are currently
  developing none branded apps, Speak 4 it, and Need 2 Pee.

Both of which will be in the App Store soon, running a native
  iPhone client against Waves on Jruby and jetty behind
  nginx on Amazon’s EC2 for dynamic scaleability.

Additional research is being done with search, natural
  language recognition, speech recognition, and a lot more...
Conference created content
 Don’t get too big...
  – Small 3-5 developers + manager(hands on)
  – Mockup to HTML is separate
  – Still experimenting with pairing


 Interviewing
   – Code screening in the form of a test class plus requirements
   – Short turn around
   – each candidate is decided on independent of all others
   – open source and community involvement count

 Version Control
   – Subversion for production and deployment
   – git-svn for life
   – most developers use git and gitjour then git-svn back into primary
     repository
What does the name change mean?

AT&T Interactive means
 –   we will be building out additional
     properties in the future
 –   we’ll take our passion for ruby to
     additional properties

 –   we’re continuing to hire
     passionate developers
 –   we get to build even more cool
     stuff
                                          Drink the Ruby Kool-aid
Thank you for
your time and
  attention.
© 2008 AT&T Intellectual Property. All rights reserved.
AT&T and the AT&T logo are trademarks of AT&T Intellectual Property.

Weitere ähnliche Inhalte

Ähnlich wie The Many Facets of Ruby at AT&T Interactive

Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 
Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718tengu
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010arif44
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 
Ruby Rails Web Development.pdf
Ruby Rails Web Development.pdfRuby Rails Web Development.pdf
Ruby Rails Web Development.pdfAyesha Siddika
 
Is ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building appsIs ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building appsTemok IT Services
 
Ruby Rails Web Development SEO Expert Bangladesh LTD.pdf
Ruby Rails Web Development  SEO Expert Bangladesh LTD.pdfRuby Rails Web Development  SEO Expert Bangladesh LTD.pdf
Ruby Rails Web Development SEO Expert Bangladesh LTD.pdfTasnim Jahan
 
The story of language development
The story of language developmentThe story of language development
The story of language developmentHiroshi SHIBATA
 
Why Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfWhy Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfKaty Slemon
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsNataly Tkachuk
 
[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.comMitch Okamoto
 
Ruby On Rails Presentation
Ruby On Rails PresentationRuby On Rails Presentation
Ruby On Rails PresentationPaul Pajo
 
Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015Travis Reeder
 
8 awesome benefits of ruby on rails application development
8 awesome benefits of ruby on rails application development 8 awesome benefits of ruby on rails application development
8 awesome benefits of ruby on rails application development rorbitssoftware
 
Things you must know on ruby on rails single page application
Things you must know on ruby on rails single page applicationThings you must know on ruby on rails single page application
Things you must know on ruby on rails single page applicationAndolasoft Inc
 
Ruby on Rails Development Services
Ruby on Rails Development ServicesRuby on Rails Development Services
Ruby on Rails Development ServicesSpritleSoftware
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Futureelliando dias
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on railspmashchak
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionC4Media
 

Ähnlich wie The Many Facets of Ruby at AT&T Interactive (20)

Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718Ruby Kaigi09 China Rubyupdate20090718
Ruby Kaigi09 China Rubyupdate20090718
 
Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010Ruby On Rails Seminar Basis Softexpo Feb2010
Ruby On Rails Seminar Basis Softexpo Feb2010
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Ruby Rails Web Development.pdf
Ruby Rails Web Development.pdfRuby Rails Web Development.pdf
Ruby Rails Web Development.pdf
 
Is ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building appsIs ruby on rails dead or still good choice for building apps
Is ruby on rails dead or still good choice for building apps
 
Ruby Rails Web Development SEO Expert Bangladesh LTD.pdf
Ruby Rails Web Development  SEO Expert Bangladesh LTD.pdfRuby Rails Web Development  SEO Expert Bangladesh LTD.pdf
Ruby Rails Web Development SEO Expert Bangladesh LTD.pdf
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Why Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdfWhy Use Ruby On Rails.pdf
Why Use Ruby On Rails.pdf
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On Rails
 
[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com[2011-17-C-4] Heroku & database.com
[2011-17-C-4] Heroku & database.com
 
Ruby On Rails Presentation
Ruby On Rails PresentationRuby On Rails Presentation
Ruby On Rails Presentation
 
Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015
 
8 awesome benefits of ruby on rails application development
8 awesome benefits of ruby on rails application development 8 awesome benefits of ruby on rails application development
8 awesome benefits of ruby on rails application development
 
Things you must know on ruby on rails single page application
Things you must know on ruby on rails single page applicationThings you must know on ruby on rails single page application
Things you must know on ruby on rails single page application
 
Rails Concept
Rails ConceptRails Concept
Rails Concept
 
Ruby on Rails Development Services
Ruby on Rails Development ServicesRuby on Rails Development Services
Ruby on Rails Development Services
 
Web Frameworks of the Future
Web Frameworks of the FutureWeb Frameworks of the Future
Web Frameworks of the Future
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in Production
 

Kürzlich hochgeladen

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
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
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
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
 

Kürzlich hochgeladen (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
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
 
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
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
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
 

The Many Facets of Ruby at AT&T Interactive

  • 1. Voices That Matter: Professional Ruby Conference The many facets of Ruby at YELLOWPAGES.COM
  • 2. YELLOWPAGES.COM, LLC has changed it’s name (but the site maintains the same branding) so this presentation is now... © 2008 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property.
  • 3. Voices that Matter Professional Ruby Conference The Many Facets of Ruby at AT&T Interactive © 2008 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property.
  • 5. Coby Randquist Director, Web Development at AT&T Interactive crandquist@yellowpages.com Joined the company in April of 2008, after the Big Re-Write
  • 6. Partner in http://www.confreaks.com Expert recording and networking services for conferences, seminars and workshops Yukihiro ‘Matz’ Matsumoto - speaking at Lone Star Ruby Conference 2008
  • 7. Founding member of http://www.laruby.com http://github.com/laruby
  • 8. Audience Poll Self Employed 0 - 10 in product development 10 - 25 in product development 25 + in product development
  • 9. A bit about us Lots of small teams – web-tier currently three teams 3-5 developers + manager – HTML CSS team – service-tier 3-5 developers + manager – everyone does TDD – test-automation team 3-5 developers + manager – mobile development teams (being built up) – product teams 4 product managers for web, 1 product manager for each mobile platform – creative 3-5 designers + manager - comps – usability 2-3 information architects + manager - wire frames and all human use factor analysis – systems architecture 3-5 architects + manager (application support, performance) – software architecture 3-5 architects + manager ( web, services, windows, search, data)
  • 10. The many facets of Ruby at AT&T Interactive One of the largest sites running on ruby and rails. Consistently in the top 30 trafficked web-sites 27 million monthly unique visitors 165+ million page views
  • 11. The Big re-write of YELLOWPAGES.COM The re-write for us, is ancient history. See John Straw’s presentation from RailsConf 2008 for more details. http://en.oreilly.com/rails2008/public/schedule/detail/2082 We replaced the Java based legacy application with a Ruby on Rails app and service-tier, that was developed with a small team (4 developers + product folks). Launched June of 2007 on Rails 1.2.3 Site has been live on Rails for nearly 18 months. Currently running on Rails 2.1.1
  • 12. How we scaled rails See DHH’s article from “It’s boring to scale with Ruby on Rails” from July of 2005 http://www.loudthinking.com/arc/000479.html Load Balancer Data Center Data Center Load Balancer Load Balancer Web-Tier Web-Tier Load Balancer Load Balancer Service Tier Service Tier Load Balancer Load Balancer Search Engine / Oracle Cluster Search Engine / Oracle Cluster
  • 13. The web-tier Ruby on Rails - 8,415 LOC Approximately 20 servers per data center 16 Mongrels per server Minimal Active Record Communicates with the Services Tier Asset Packaging, Content Distribution Network with Akamai and AT&T
  • 14. The service-tier (today) Ruby on Rails - 10,108 LOC Approximately 8 servers per data center 30 mongrels on each server memcached running on each server ruby wrapper to our FAST search engine oracle client for communications with Oracle Clusters
  • 15. So how else do we use ruby? Our production environment runs a custom compile of ruby. – the key compilation option is disabling the native thread used for timing, leading to a 20-30% performance boost from the reduced context-switch overhead (--disable-pthreads). Most distros compile with pthreads support to allow compatibility with Tcl/Tk libraries, but other than that Ruby 1.8 doesn’t benefit from using the extra native thread. – The rest of it is to make life easier for our operation center – Ruby 1.8.6 p114 base + security patches – standalone RPM, doesn’t interfere with OS provided RPM – bundled with Rubygems We host our own internal gem server to maximize control over production environments.
  • 16. It’s not all rails, or at least it won’t be Our services tier is currently being re-written on Merb! Why? – Rails footprint for our app - 60MB per mongrel – Merb footprint for our app - 25MB per mongrel Performance - testing is not yet complete, but initial results are promising enough to do a full re-write. Effort required 3 developers, approximately 8 weeks.
  • 17. Mobile platforms and ruby Native iPhone app available in the App Store, runs against a rails service app that sits in front of our service tier. Same model is in development for other mobile devices including the Google Android.
  • 18. Our commitment to Open Source Our developers have contributed to Rails, Merb, Sequel, and many other open source projects. We promote community participation, some projects from employees of AT&T Interactive: – waves - Resource-oriented open source Ruby framework for Web apps – functors - patterned based dispatch for Ruby – kablame - easily summarize who has done how much on work on your code base – crufty - find unused code with ease – hoshi - a library for creating real first-class HTML/XML views – live-console - a ruby gem for providing irb over channels other than stdio
  • 19. And even more - Research & Development AT&T Interactive’s Research & Development group is building out waves, and hoshi. Waves uses bacon as it’s testing framework They have written a rack handler for jetty, and are currently developing none branded apps, Speak 4 it, and Need 2 Pee. Both of which will be in the App Store soon, running a native iPhone client against Waves on Jruby and jetty behind nginx on Amazon’s EC2 for dynamic scaleability. Additional research is being done with search, natural language recognition, speech recognition, and a lot more...
  • 20. Conference created content Don’t get too big... – Small 3-5 developers + manager(hands on) – Mockup to HTML is separate – Still experimenting with pairing Interviewing – Code screening in the form of a test class plus requirements – Short turn around – each candidate is decided on independent of all others – open source and community involvement count Version Control – Subversion for production and deployment – git-svn for life – most developers use git and gitjour then git-svn back into primary repository
  • 21. What does the name change mean? AT&T Interactive means – we will be building out additional properties in the future – we’ll take our passion for ruby to additional properties – we’re continuing to hire passionate developers – we get to build even more cool stuff Drink the Ruby Kool-aid
  • 22. Thank you for your time and attention.
  • 23. © 2008 AT&T Intellectual Property. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Intellectual Property.