SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Yahoo! Communities
   Architectures
       Ian Flint
    November 9, 2007



                       1
Agenda

• What makes Yahoo! Yahoo!?
• Hardware Infrastructure
• Software Infrastructure
• Operational Infrastructure
• Process
• Examples

                               2
What makes Yahoo! Yahoo!?

• What do these sites have in common?
  – Del.icio.us
  – Flickr
  – Yahoo! Groups
  – Yahoo! Mail
  – Bix


                                3
What makes Yahoo! Yahoo!?

• Accountability at the property level
  – Architecture
  – Application Operations
  – Infrastructure Decisions
• Incubator Environment
  – Properties function independently on a
    common hardware platform
  – Highly cost-conscious
  – Open-source attitude
                                         4
What makes Yahoo! Yahoo!?

• Standards at the infrastructure level
  – Hardware/Software platform
  – Configuration Management
  – Operational tools and best practices
• Executive Involvement
  – Cost
  – Robustness
  – Redundancy

                                           5
Hardware Infrastructure
     Common Platform




                          6
Hardware Infrastructure

• Shared Components
  – Network, Data Center, NAS
  – Centrally managed by infrastructure
    team
• Load Balancing
  – DSR is preferred model
  – Proxy load balancing only where
    necessary
                                      7
Hardware Infrastructure

• Hardware (x86, RAID/SCSI)
  – Jointly managed by properties and ops
• Hardware Selection
  – Price/Performance is a constant
    consideration
  – Supply chain and provisioning cost
  – Reliability vs. Price
    • Single-Homed hosts (even databases)
    • Pooling across multiple switches
    • Fast Failover to mitigate risk of switch failure

                                                   8
Hardware Infrastructure Example

• Layered Infrastructure
                                         The Internet

• Hosts distributed
  across multiple racks      Router



  for power/network          Load


  redundancy at the
                            Balancer




  pool level               Aggregation
                             Switch




• Really Big Load            Rack
                            Switches



  Balancers doing DSR
                             Hosts




                                                        9
Software Infrastructure
    Shared Repository




                          10
Software Infrastructure

• OS (FreeBSD, moving to RHEL)
• Databases (MySQL, Oracle)
• Development Platforms
  – PHP (most properties)
  – C/C++ (primary infrastructure platform)
  – Java
  – Python
                                     11
Software Infrastructure

• Installable components
  – Managed through yinst package
    manager
  – Stored on common distribution server
  – Examples: yapache, yts, yfor, ymon,
    yiv, vespa



                                    12
Software Infrastructure

• More about yinst
  – Robust Package Manager
     • Installation, Versioning, Scripting
  – Implementation
     • Software installed on distribution cluster (package
       repository)
     • Hosts then pull software (via proxies)
     • Software stored under a common root
     • Used for everything from perl modules to
       common components to applications

                                                 13
Software Infrastructure

• Shared Infrastructure enables rapid
  integration of acquisitions
                     – SDS
  – UDB
                     – YMDB
  – SSO
• External Infrastructure
  – Akamai CDN and DNS
  – Gomez & Keynote
                                   14
Software Infrastructure - Bix

                                                    The Internet

         Akamai                                                                                                        Akamai
         (CDN)                                                                                                         (CDN)
                                       YTS                                              YTS
                                  (Reverse Proxy)                                  (Reverse Proxy)




                                                      Primary Colo

                                                                     Backup Colo
                            Yfor                                                                     Yfor
                    (failover resolver)                                                       (failover resolver)


                                                                                    Web Servers
                                    Web Servers                                      Web Servers
                                     Web Servers                                      Web Servers
                                      Web Servers
      Media Servers                                                                                                 Media Servers
       Media Servers                                                                                                 Media Servers
        Media Servers                                                                                                 Media Servers




•   Global Server Load Balancing between sites
•   YTS provides Reverse Proxy and Connection Management
•   Yfor provides fast failover from colo to colo
•   Media is served via a content delivery network for performance
    and to reduce load on servers


                                                                                                                        15
Software Infrastructure - Bix




• Yfor Failover Resolver used for fast failover of
  database connections
• Dual Master MySQL setup for write hosts
• Media storage on NetApp NAS device, with snap-
  mirroring to backup data center

                                            16
Software Infrastructure - Bix

• Yapache reverse proxy in               Web Server

  front of Tomcat instance
                               Yapache (Yahoo-improved Apache)

• PHP used to access                           Mod_proxy
                                PHP

  Yahoo shared services                      (Reverse Proxy)
                               Yahoo
                              Shared
                              Services
                                                                   Static
• Static files served from                                         Files



  disk
• Fairly standard Java                      Tomcat



  environment (Spring,
                                         Bix Application
                               Spring                       Hibernate
                               Lucene                       ehcache
  Hibernate, ehcache, c3po,    Hessian                          c3po
                                log4j                MySQL Connector
  log4j, etc.)


                                                           17
Software Infrastructure - Groups

• Inbound Groups mail hits a
  qmail cluster
• Mail filtered against real-time
  blacklist
• Mail forwarded to second
  qmail cluster
• Proprietary anti-spam
  algorithms applied
• Mail forwarded to group
  members
• Mail stored on archive servers
• Oracle RAC clusters store
  metadata
• Periodic “Electric Potato”
  measures QoS
                                      18
Software Infrastructure – Groups




•   Dynamic content served via web pool running python/c++ application
•   CSS and images served via a squid-fronted pool
•   Group photos on Y! photos infrastructure backed by Yahoo! Media DB
    (YMDB)
•   Database feature implemented as sleepycat DB hosted on message
    store
•   Calendar feature implemented via API calls to calendar.yahoo.com

                                                            19
Operational Infrastructure
    Managing the Platform




                             20
Operational Infrastructure

• Common Monitoring Infrastructure
   – Nagios
       • Main monitor for clusters
       • Numerous standard plugins
       • Standards/Best Practices around custom plugins
   – Ywatch
       • Basic monitoring of machines over SNMP
       • Heartbeats plus fundamental metrics (IO, CPU, Disk, etc.)
   – Ymon
       • NRPE/NSCA on steroids
       • Automated forwarding of active and passive checks
       • Scripted setup
   – Drraw
       • Data Visualization
       • Deep integration with Nagios and ymon


                                                                     21
Operational Infrastructure

– Rollup Monitoring
   • Clusters rolled up to centralized monitoring console
   • Prioritization and correlation of events
– Internal Site QOS Monitoring
   • QOS monitoring for sites
   • Response time and availability
– “The OC”
   • 24x7, worldwide operations center
   • Provides tier 1 and 2 support
– Centralized CMDB
   • Configuration Management DB – manages every device
   • Contact info, escalations, and runbooks included

                                                            22
Operational Infrastructure Example

• Application Servers
                                              Media
  perform checks which                         Media                                  Web
                                                             Web Servers           DB Servers
                                                Media                                  Web
                                                             Web Servers
                                             Servers          Web Servers
                                              Servers                                Servers
                                               Servers                                Servers
  are registered by
  Nagios as passive
  checks                                                      ymon server




                         SNMP-Based Checks
• Metrics are                                                   ymond
  aggregated by                                                                  metrics

  metrics module                                                             aggregator
                                                   yapache                       nagios
• On-demand graphing                                                  grapher (rrdtool/drraw)
  is provided by drraw                                                     forwarding agent

• Nagios alerts are
  forwarded to central
  ywatch console
                                                             ywatch server
                                                                listener
                                                   yapache                   Ops Console




                                                                            23
Processes and Standards
      Keeping it sane




                          24
Process and Standards

• Hardware Review Committee
  – Strong emphasis on economics
  – Personal attention from David Filo
• Software Review Committee
  – Thinking through major licensing decisions
• Business Continuity Planning
  – Required of all properties
  – Must have and test backup data center
• Paranoids
  – Ongoing site scans
  – Enforcement of standards
                                                 25
Questions?




             26

Weitere ähnliche Inhalte

Was ist angesagt?

Chef - Evolving with Infrastructure Automation
Chef - Evolving with Infrastructure AutomationChef - Evolving with Infrastructure Automation
Chef - Evolving with Infrastructure AutomationNathaniel Brown
 
Twitter - Architecture and Scalability lessons
Twitter - Architecture and Scalability lessonsTwitter - Architecture and Scalability lessons
Twitter - Architecture and Scalability lessonsAditya Rao
 
OVERVIEW OF FACEBOOK SCALABLE ARCHITECTURE.
OVERVIEW  OF FACEBOOK SCALABLE ARCHITECTURE.OVERVIEW  OF FACEBOOK SCALABLE ARCHITECTURE.
OVERVIEW OF FACEBOOK SCALABLE ARCHITECTURE.Rishikese MR
 
HBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend Micro
HBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend MicroHBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend Micro
HBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend MicroCloudera, Inc.
 
Anti-social Databases
Anti-social DatabasesAnti-social Databases
Anti-social DatabasesWilliam LaForest
 
Java Web Start - How Zhara POS Works
Java Web Start - How Zhara POS WorksJava Web Start - How Zhara POS Works
Java Web Start - How Zhara POS WorksYohan Liyanage
 
Google App Engine, Groovy and Gaelyk presentation at the Paris JUG
Google App Engine, Groovy and Gaelyk presentation at the Paris JUGGoogle App Engine, Groovy and Gaelyk presentation at the Paris JUG
Google App Engine, Groovy and Gaelyk presentation at the Paris JUGGuillaume Laforge
 
Linkedin NUS QCon 2009 slides
Linkedin NUS QCon 2009 slidesLinkedin NUS QCon 2009 slides
Linkedin NUS QCon 2009 slidesruslansv
 
Dancing with the elephant h base1_final
Dancing with the elephant   h base1_finalDancing with the elephant   h base1_final
Dancing with the elephant h base1_finalasterix_smartplatf
 
Storage Infrastructure Behind Facebook Messages
Storage Infrastructure Behind Facebook MessagesStorage Infrastructure Behind Facebook Messages
Storage Infrastructure Behind Facebook Messagesfeng1212
 
Sharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and SolrSharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and SolrMongoDB
 
How did you know this ad would be relevant for me?
How did you know this ad would be relevant for me?How did you know this ad would be relevant for me?
How did you know this ad would be relevant for me?DataWorks Summit
 
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop WebinarWhy Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop WebinarCloudera, Inc.
 
Find a needle in Haystack: Facebook's storage system
Find a needle in Haystack: Facebook's storage systemFind a needle in Haystack: Facebook's storage system
Find a needle in Haystack: Facebook's storage systemLIN Yi
 
An HTTP-Based Versioning Mechanism for Linked Data
An HTTP-Based Versioning Mechanism for Linked DataAn HTTP-Based Versioning Mechanism for Linked Data
An HTTP-Based Versioning Mechanism for Linked DataHerbert Van de Sompel
 
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...Robert Mederer
 

Was ist angesagt? (18)

Chef - Evolving with Infrastructure Automation
Chef - Evolving with Infrastructure AutomationChef - Evolving with Infrastructure Automation
Chef - Evolving with Infrastructure Automation
 
Twitter - Architecture and Scalability lessons
Twitter - Architecture and Scalability lessonsTwitter - Architecture and Scalability lessons
Twitter - Architecture and Scalability lessons
 
OVERVIEW OF FACEBOOK SCALABLE ARCHITECTURE.
OVERVIEW  OF FACEBOOK SCALABLE ARCHITECTURE.OVERVIEW  OF FACEBOOK SCALABLE ARCHITECTURE.
OVERVIEW OF FACEBOOK SCALABLE ARCHITECTURE.
 
HBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend Micro
HBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend MicroHBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend Micro
HBaseCon 2012 | HBase Security for the Enterprise - Andrew Purtell, Trend Micro
 
Email
Email Email
Email
 
Anti-social Databases
Anti-social DatabasesAnti-social Databases
Anti-social Databases
 
Java Web Start - How Zhara POS Works
Java Web Start - How Zhara POS WorksJava Web Start - How Zhara POS Works
Java Web Start - How Zhara POS Works
 
Google App Engine, Groovy and Gaelyk presentation at the Paris JUG
Google App Engine, Groovy and Gaelyk presentation at the Paris JUGGoogle App Engine, Groovy and Gaelyk presentation at the Paris JUG
Google App Engine, Groovy and Gaelyk presentation at the Paris JUG
 
Linkedin NUS QCon 2009 slides
Linkedin NUS QCon 2009 slidesLinkedin NUS QCon 2009 slides
Linkedin NUS QCon 2009 slides
 
REST in Practice
REST in PracticeREST in Practice
REST in Practice
 
Dancing with the elephant h base1_final
Dancing with the elephant   h base1_finalDancing with the elephant   h base1_final
Dancing with the elephant h base1_final
 
Storage Infrastructure Behind Facebook Messages
Storage Infrastructure Behind Facebook MessagesStorage Infrastructure Behind Facebook Messages
Storage Infrastructure Behind Facebook Messages
 
Sharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and SolrSharded By Business Line: Migrating to a Core Database using MongoDB and Solr
Sharded By Business Line: Migrating to a Core Database using MongoDB and Solr
 
How did you know this ad would be relevant for me?
How did you know this ad would be relevant for me?How did you know this ad would be relevant for me?
How did you know this ad would be relevant for me?
 
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop WebinarWhy Every NoSQL Deployment Should Be Paired with Hadoop Webinar
Why Every NoSQL Deployment Should Be Paired with Hadoop Webinar
 
Find a needle in Haystack: Facebook's storage system
Find a needle in Haystack: Facebook's storage systemFind a needle in Haystack: Facebook's storage system
Find a needle in Haystack: Facebook's storage system
 
An HTTP-Based Versioning Mechanism for Linked Data
An HTTP-Based Versioning Mechanism for Linked DataAn HTTP-Based Versioning Mechanism for Linked Data
An HTTP-Based Versioning Mechanism for Linked Data
 
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...High Scalability by Example – How can Web-Architecture scale like Facebook, T...
High Scalability by Example – How can Web-Architecture scale like Facebook, T...
 

Ähnlich wie Yahoo Communities Architecture Unlikely Bedfellows

Best Practices for Virtualizing Hadoop
Best Practices for Virtualizing HadoopBest Practices for Virtualizing Hadoop
Best Practices for Virtualizing HadoopDataWorks Summit
 
Accelerating Server Hardware Upgrades with PlateSpin Migrate P2P
Accelerating Server Hardware Upgrades with PlateSpin Migrate P2PAccelerating Server Hardware Upgrades with PlateSpin Migrate P2P
Accelerating Server Hardware Upgrades with PlateSpin Migrate P2PNovell
 
Open Cloud Interop Public
Open Cloud Interop PublicOpen Cloud Interop Public
Open Cloud Interop Publicrvanhoe
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practiceOpenCity Community
 
DataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage HypervisorDataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage HypervisorASBIS SK
 
Virtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFireVirtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFireCarter Shanklin
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azureManish Corriea
 
Migrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with XenMigrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with XenNovell
 
Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Developmentelliando dias
 
XS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM EnglishXS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM EnglishThe Linux Foundation
 
Accelerating Data Management - Dave Fellinger - RDAP12
Accelerating Data Management - Dave Fellinger - RDAP12 Accelerating Data Management - Dave Fellinger - RDAP12
Accelerating Data Management - Dave Fellinger - RDAP12 ASIS&T
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsMark Slingsby
 
Exploration of eucalyptus_v2.0
Exploration of eucalyptus_v2.0Exploration of eucalyptus_v2.0
Exploration of eucalyptus_v2.0huangwenjun310
 
Xen Virtualization 2008
Xen Virtualization 2008Xen Virtualization 2008
Xen Virtualization 2008mwlang88
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on RailsJonathan Weiss
 
Computer, end program
Computer, end programComputer, end program
Computer, end programSameer Verma
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011darach
 
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure PlatformVitor Tomaz
 
Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetupmysqlops
 

Ähnlich wie Yahoo Communities Architecture Unlikely Bedfellows (20)

Best Practices for Virtualizing Hadoop
Best Practices for Virtualizing HadoopBest Practices for Virtualizing Hadoop
Best Practices for Virtualizing Hadoop
 
Accelerating Server Hardware Upgrades with PlateSpin Migrate P2P
Accelerating Server Hardware Upgrades with PlateSpin Migrate P2PAccelerating Server Hardware Upgrades with PlateSpin Migrate P2P
Accelerating Server Hardware Upgrades with PlateSpin Migrate P2P
 
Open Cloud Interop Public
Open Cloud Interop PublicOpen Cloud Interop Public
Open Cloud Interop Public
 
Learn OpenStack from trystack.cn ——Folsom in practice
Learn OpenStack from trystack.cn  ——Folsom in practiceLearn OpenStack from trystack.cn  ——Folsom in practice
Learn OpenStack from trystack.cn ——Folsom in practice
 
DataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage HypervisorDataCore Software - The one and only Storage Hypervisor
DataCore Software - The one and only Storage Hypervisor
 
Virtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFireVirtualizing Latency Sensitive Workloads and vFabric GemFire
Virtualizing Latency Sensitive Workloads and vFabric GemFire
 
Lap around windows azure
Lap around windows azureLap around windows azure
Lap around windows azure
 
XS Boston 2008 OVF
XS Boston 2008 OVFXS Boston 2008 OVF
XS Boston 2008 OVF
 
Migrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with XenMigrating P2V: SUSE Linux Enterprise Server with Xen
Migrating P2V: SUSE Linux Enterprise Server with Xen
 
Virtualization for Development
Virtualization for DevelopmentVirtualization for Development
Virtualization for Development
 
XS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM EnglishXS Japan 2008 Oracle VM English
XS Japan 2008 Oracle VM English
 
Accelerating Data Management - Dave Fellinger - RDAP12
Accelerating Data Management - Dave Fellinger - RDAP12 Accelerating Data Management - Dave Fellinger - RDAP12
Accelerating Data Management - Dave Fellinger - RDAP12
 
Cloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web AppsCloud Computing & Scaling Web Apps
Cloud Computing & Scaling Web Apps
 
Exploration of eucalyptus_v2.0
Exploration of eucalyptus_v2.0Exploration of eucalyptus_v2.0
Exploration of eucalyptus_v2.0
 
Xen Virtualization 2008
Xen Virtualization 2008Xen Virtualization 2008
Xen Virtualization 2008
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
 
Computer, end program
Computer, end programComputer, end program
Computer, end program
 
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011
 
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
[.Net Juniors Academy] Introdução ao Cloud Computing e Windows Azure Platform
 
Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetup
 

Mehr von ConSanFrancisco123

Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The MarketConSanFrancisco123
 
Yellowpagescom Behind The Curtain
Yellowpagescom Behind The CurtainYellowpagescom Behind The Curtain
Yellowpagescom Behind The CurtainConSanFrancisco123
 
Teamwork Is An Individual Skill How To Build Any Team Any Time
Teamwork Is An Individual Skill How To Build Any Team Any TimeTeamwork Is An Individual Skill How To Build Any Team Any Time
Teamwork Is An Individual Skill How To Build Any Team Any TimeConSanFrancisco123
 
Agility Possibilities At A Personal Level
Agility Possibilities At A Personal LevelAgility Possibilities At A Personal Level
Agility Possibilities At A Personal LevelConSanFrancisco123
 
Res Tful Enterprise Development
Res Tful Enterprise DevelopmentRes Tful Enterprise Development
Res Tful Enterprise DevelopmentConSanFrancisco123
 
Gallio Crafting A Toolchain
Gallio Crafting A ToolchainGallio Crafting A Toolchain
Gallio Crafting A ToolchainConSanFrancisco123
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your CodeConSanFrancisco123
 
Behind The Scenes At My Spacecom
Behind The Scenes At My SpacecomBehind The Scenes At My Spacecom
Behind The Scenes At My SpacecomConSanFrancisco123
 
Building Blueprint With Gwt
Building Blueprint With GwtBuilding Blueprint With Gwt
Building Blueprint With GwtConSanFrancisco123
 
Security Cas And Open Id
Security Cas And Open IdSecurity Cas And Open Id
Security Cas And Open IdConSanFrancisco123
 
Soa And Web Services Security
Soa And Web Services SecuritySoa And Web Services Security
Soa And Web Services SecurityConSanFrancisco123
 
Making Threat Modeling Useful To Software Development
Making Threat Modeling Useful To Software DevelopmentMaking Threat Modeling Useful To Software Development
Making Threat Modeling Useful To Software DevelopmentConSanFrancisco123
 
Secure Programming With Static Analysis
Secure Programming With Static AnalysisSecure Programming With Static Analysis
Secure Programming With Static AnalysisConSanFrancisco123
 
Agile Software Development In The Large
Agile Software Development In The LargeAgile Software Development In The Large
Agile Software Development In The LargeConSanFrancisco123
 
Introduction Challenges In Agile And How To Overcome Them
Introduction Challenges In Agile And How To Overcome ThemIntroduction Challenges In Agile And How To Overcome Them
Introduction Challenges In Agile And How To Overcome ThemConSanFrancisco123
 
Business Natural Languages Development In Ruby
Business Natural Languages Development In RubyBusiness Natural Languages Development In Ruby
Business Natural Languages Development In RubyConSanFrancisco123
 
Orbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeOrbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeConSanFrancisco123
 
Introduction Architectures Youve Always Wondered About
Introduction Architectures Youve Always Wondered AboutIntroduction Architectures Youve Always Wondered About
Introduction Architectures Youve Always Wondered AboutConSanFrancisco123
 

Mehr von ConSanFrancisco123 (20)

Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The Market
 
Ruby V Ms A Comparison
Ruby V Ms A ComparisonRuby V Ms A Comparison
Ruby V Ms A Comparison
 
Yellowpagescom Behind The Curtain
Yellowpagescom Behind The CurtainYellowpagescom Behind The Curtain
Yellowpagescom Behind The Curtain
 
Teamwork Is An Individual Skill How To Build Any Team Any Time
Teamwork Is An Individual Skill How To Build Any Team Any TimeTeamwork Is An Individual Skill How To Build Any Team Any Time
Teamwork Is An Individual Skill How To Build Any Team Any Time
 
Agility Possibilities At A Personal Level
Agility Possibilities At A Personal LevelAgility Possibilities At A Personal Level
Agility Possibilities At A Personal Level
 
Res Tful Enterprise Development
Res Tful Enterprise DevelopmentRes Tful Enterprise Development
Res Tful Enterprise Development
 
Gallio Crafting A Toolchain
Gallio Crafting A ToolchainGallio Crafting A Toolchain
Gallio Crafting A Toolchain
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your Code
 
Http Status Report
Http Status ReportHttp Status Report
Http Status Report
 
Behind The Scenes At My Spacecom
Behind The Scenes At My SpacecomBehind The Scenes At My Spacecom
Behind The Scenes At My Spacecom
 
Building Blueprint With Gwt
Building Blueprint With GwtBuilding Blueprint With Gwt
Building Blueprint With Gwt
 
Security Cas And Open Id
Security Cas And Open IdSecurity Cas And Open Id
Security Cas And Open Id
 
Soa And Web Services Security
Soa And Web Services SecuritySoa And Web Services Security
Soa And Web Services Security
 
Making Threat Modeling Useful To Software Development
Making Threat Modeling Useful To Software DevelopmentMaking Threat Modeling Useful To Software Development
Making Threat Modeling Useful To Software Development
 
Secure Programming With Static Analysis
Secure Programming With Static AnalysisSecure Programming With Static Analysis
Secure Programming With Static Analysis
 
Agile Software Development In The Large
Agile Software Development In The LargeAgile Software Development In The Large
Agile Software Development In The Large
 
Introduction Challenges In Agile And How To Overcome Them
Introduction Challenges In Agile And How To Overcome ThemIntroduction Challenges In Agile And How To Overcome Them
Introduction Challenges In Agile And How To Overcome Them
 
Business Natural Languages Development In Ruby
Business Natural Languages Development In RubyBusiness Natural Languages Development In Ruby
Business Natural Languages Development In Ruby
 
Orbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And ChangeOrbitz World Wide An Architectures Response To Growth And Change
Orbitz World Wide An Architectures Response To Growth And Change
 
Introduction Architectures Youve Always Wondered About
Introduction Architectures Youve Always Wondered AboutIntroduction Architectures Youve Always Wondered About
Introduction Architectures Youve Always Wondered About
 

KĂźrzlich hochgeladen

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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

KĂźrzlich hochgeladen (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Yahoo Communities Architecture Unlikely Bedfellows

  • 1. Yahoo! Communities Architectures Ian Flint November 9, 2007 1
  • 2. Agenda • What makes Yahoo! Yahoo!? • Hardware Infrastructure • Software Infrastructure • Operational Infrastructure • Process • Examples 2
  • 3. What makes Yahoo! Yahoo!? • What do these sites have in common? – Del.icio.us – Flickr – Yahoo! Groups – Yahoo! Mail – Bix 3
  • 4. What makes Yahoo! Yahoo!? • Accountability at the property level – Architecture – Application Operations – Infrastructure Decisions • Incubator Environment – Properties function independently on a common hardware platform – Highly cost-conscious – Open-source attitude 4
  • 5. What makes Yahoo! Yahoo!? • Standards at the infrastructure level – Hardware/Software platform – Configuration Management – Operational tools and best practices • Executive Involvement – Cost – Robustness – Redundancy 5
  • 6. Hardware Infrastructure Common Platform 6
  • 7. Hardware Infrastructure • Shared Components – Network, Data Center, NAS – Centrally managed by infrastructure team • Load Balancing – DSR is preferred model – Proxy load balancing only where necessary 7
  • 8. Hardware Infrastructure • Hardware (x86, RAID/SCSI) – Jointly managed by properties and ops • Hardware Selection – Price/Performance is a constant consideration – Supply chain and provisioning cost – Reliability vs. Price • Single-Homed hosts (even databases) • Pooling across multiple switches • Fast Failover to mitigate risk of switch failure 8
  • 9. Hardware Infrastructure Example • Layered Infrastructure The Internet • Hosts distributed across multiple racks Router for power/network Load redundancy at the Balancer pool level Aggregation Switch • Really Big Load Rack Switches Balancers doing DSR Hosts 9
  • 10. Software Infrastructure Shared Repository 10
  • 11. Software Infrastructure • OS (FreeBSD, moving to RHEL) • Databases (MySQL, Oracle) • Development Platforms – PHP (most properties) – C/C++ (primary infrastructure platform) – Java – Python 11
  • 12. Software Infrastructure • Installable components – Managed through yinst package manager – Stored on common distribution server – Examples: yapache, yts, yfor, ymon, yiv, vespa 12
  • 13. Software Infrastructure • More about yinst – Robust Package Manager • Installation, Versioning, Scripting – Implementation • Software installed on distribution cluster (package repository) • Hosts then pull software (via proxies) • Software stored under a common root • Used for everything from perl modules to common components to applications 13
  • 14. Software Infrastructure • Shared Infrastructure enables rapid integration of acquisitions – SDS – UDB – YMDB – SSO • External Infrastructure – Akamai CDN and DNS – Gomez & Keynote 14
  • 15. Software Infrastructure - Bix The Internet Akamai Akamai (CDN) (CDN) YTS YTS (Reverse Proxy) (Reverse Proxy) Primary Colo Backup Colo Yfor Yfor (failover resolver) (failover resolver) Web Servers Web Servers Web Servers Web Servers Web Servers Web Servers Media Servers Media Servers Media Servers Media Servers Media Servers Media Servers • Global Server Load Balancing between sites • YTS provides Reverse Proxy and Connection Management • Yfor provides fast failover from colo to colo • Media is served via a content delivery network for performance and to reduce load on servers 15
  • 16. Software Infrastructure - Bix • Yfor Failover Resolver used for fast failover of database connections • Dual Master MySQL setup for write hosts • Media storage on NetApp NAS device, with snap- mirroring to backup data center 16
  • 17. Software Infrastructure - Bix • Yapache reverse proxy in Web Server front of Tomcat instance Yapache (Yahoo-improved Apache) • PHP used to access Mod_proxy PHP Yahoo shared services (Reverse Proxy) Yahoo Shared Services Static • Static files served from Files disk • Fairly standard Java Tomcat environment (Spring, Bix Application Spring Hibernate Lucene ehcache Hibernate, ehcache, c3po, Hessian c3po log4j MySQL Connector log4j, etc.) 17
  • 18. Software Infrastructure - Groups • Inbound Groups mail hits a qmail cluster • Mail filtered against real-time blacklist • Mail forwarded to second qmail cluster • Proprietary anti-spam algorithms applied • Mail forwarded to group members • Mail stored on archive servers • Oracle RAC clusters store metadata • Periodic “Electric Potato” measures QoS 18
  • 19. Software Infrastructure – Groups • Dynamic content served via web pool running python/c++ application • CSS and images served via a squid-fronted pool • Group photos on Y! photos infrastructure backed by Yahoo! Media DB (YMDB) • Database feature implemented as sleepycat DB hosted on message store • Calendar feature implemented via API calls to calendar.yahoo.com 19
  • 20. Operational Infrastructure Managing the Platform 20
  • 21. Operational Infrastructure • Common Monitoring Infrastructure – Nagios • Main monitor for clusters • Numerous standard plugins • Standards/Best Practices around custom plugins – Ywatch • Basic monitoring of machines over SNMP • Heartbeats plus fundamental metrics (IO, CPU, Disk, etc.) – Ymon • NRPE/NSCA on steroids • Automated forwarding of active and passive checks • Scripted setup – Drraw • Data Visualization • Deep integration with Nagios and ymon 21
  • 22. Operational Infrastructure – Rollup Monitoring • Clusters rolled up to centralized monitoring console • Prioritization and correlation of events – Internal Site QOS Monitoring • QOS monitoring for sites • Response time and availability – “The OC” • 24x7, worldwide operations center • Provides tier 1 and 2 support – Centralized CMDB • Configuration Management DB – manages every device • Contact info, escalations, and runbooks included 22
  • 23. Operational Infrastructure Example • Application Servers Media perform checks which Media Web Web Servers DB Servers Media Web Web Servers Servers Web Servers Servers Servers Servers Servers are registered by Nagios as passive checks ymon server SNMP-Based Checks • Metrics are ymond aggregated by metrics metrics module aggregator yapache nagios • On-demand graphing grapher (rrdtool/drraw) is provided by drraw forwarding agent • Nagios alerts are forwarded to central ywatch console ywatch server listener yapache Ops Console 23
  • 24. Processes and Standards Keeping it sane 24
  • 25. Process and Standards • Hardware Review Committee – Strong emphasis on economics – Personal attention from David Filo • Software Review Committee – Thinking through major licensing decisions • Business Continuity Planning – Required of all properties – Must have and test backup data center • Paranoids – Ongoing site scans – Enforcement of standards 25