Upgrade to Pro — share decks privately, control downloads, hide ads and more …

High-Scalability and High-Availability at ImmobilienScout24

High-Scalability and High-Availability at ImmobilienScout24

André Neubauer

October 12, 2010
Tweet

More Decks by André Neubauer

Other Decks in Technology

Transcript

  1. I‘m André Neubauer. You can find me at… • Team Leader

    IT Development • Researcher, Speaker, Author #web #devops #mobileWeb #android #ar andre.neubauer@... twitter.com/devpg devpg.com
  2. I‘m Oliver Schmitz-Hennemann. You can find me at… [email protected] twitter.com/OSchmi

    • Head of IT Architecture • OrgDev, agile evangelist, inconvenient
  3. Facts • World’s largest Internet market place for real estate (revenue

    2009) Source: propertyportalwatch.com • 11 years in the Internet business • ~ 500 employees • Agile (Scrum) since 2008
  4. Facts • ~ 5 m unique users/ month • >1.500 page views/

    second (peak) • >700 (virtual) instances on 100 hosts • 100 physical systems additionally • 2 data centers • ~1.5 m lines of code
  5. Process – Continuous Product Development • No challenge to work in

    short iterations • Create a shippable product increment is more difficult (technical as well as on business) • Arc violations break the build
  6. Process – Team Architecture Review • Decide on architectural changes • Balance

    interests • Consensus decision • Each member stands by the decision
  7. Process – Incident Management • Name a officer on duty • Decide

    on defense conditions • Inform the management • Set up a task force and a war room • Understand the symptom • Decide on next steps • Fix it! Nothing beats an incident!
  8. Technology – Architecture ServicePool Corba Skeletons Search Index MT UTIL

    Business Object ServiceImpl Web Tier Apache Tomcat Web UTIL ConfigServlet Web Service Service Wrappers Corba Stubs web modules servlet filters Portallogic JSP Dialog Workflow
  9. Technology – Database -  Oracle Enterprise 8, 9, 10 (+4

    RO), 11 -  Currently 2 node RAC -  Load not a problem, except full table/ index scans -  Performance issues mostly „minor“ traffic usecases
  10. Technology – Database -  Never tried searching on DB - 

    History says, we could not afford a suitable machine in the beginning -  Multi attribute, complex sorting
  11. Technology – Scale -  Memory based architecture since 1999 - 

    Legacy in Memory search index -  NoSQL – Result cache based on a standard java.util.HashMap
  12. Technology - Environment -  Different stages -  Development (rapid response,

    continuous build) -  Testing (quality assurance) -  Load-testing -  Production
  13. Lessons Learned • Hire excellent people • Stay agile, be open for

    innovation • Process should be a helpful tool • Remind debugging rules • Problems change with scale • KISS & keep complexity low
  14. Continuous Deployment • It‘s not about deploying every change • Deliver a

    business value • “Feature after acceptance by PO will be LIVE on our portal within 24h” [CTO]
  15. Process (Backup) “Process or processing typically describes the act of

    taking something through an established and usually routine set of procedures to convert it from one form to another […]” [Wikipedia] • Should be a useful tool –  No waste –  Outweigh complexity