SlideShare une entreprise Scribd logo
1  sur  27
www.aol.comMigrating a Flagship Product from a Proprietary Web Platform to Open Source Mandi Walls Velocity 2009
Agenda Evolution of a flagship site The old platform:  “AOL Dynamic Platform” The new platform:  “Dynapub” Growing pains Knowledge migration
Evolution of www.aol.com You might have seen it before. AOL’s main home page Links to various internal and partner sites Runs Netscape, Latino, Mexico portals, as well as partner co-brands Also the in-client “Welcome Screen” with a slightly different look and feel It’s the same page, 55M times a day!
AOL.com - 1996
AOL.com 2.0 - 2005
AOL.com 3.0 - 2007
AOL.com 4.0 – 2008 AOL gets to Web 2.0
Monthly Pageviews – From April 2005
The AOL Dynamic Platform The Old Platform - ADP
AOL.com ADP Architecture
ADP AOLserver on every layer Internally developed and maintained Historically related to DigitalCity, 10 years of continuous new development Proprietary point to point, permanently connected communications 90% of the data transient in RAM N-tier Configuration in TCL! Multiple frontend farms shared all infrastructure Optimized for real time publishing with caching Still handling millions of hits a day after large migration efforts Scaled at 45hps per server instance
Proprietary Systems: Pros / Cons Good stuff The person who wrote it might sit down the hall I can write my own extensions No licensing Shoot me The person who wrote it left the company years ago I have to write my own extensions Google can’t help me with this problem… Hard to apply new ideas evolved in the industry.
The New Environment Dynapub
Dynapub Architecture for AOL.com
Features of AOL.com’s New Architecture Standalone environment Fewer internally developed systems Standard connectivity over HTTP Hides fewer flaws Requires more technical how-to from development
Growing pains Re-learning How to Scale
Scaling the Application Layer
Lessons Learned – Migration Process One size fits most Proprietary platforms hide many sins Learning curve on new tech is frustrating The customers aren’t always going to like it Easy to get in a hurry and lose time
Managing Architectural Complexity Some things did get more complicated than they needed to be Just because you *can* do something, doesn’t mean you should There are a lot more things to look at, and for our team to be responsible for than on the old platform
Knowledge Migration Learning the New Environment
Bringing Knowledge Forward
Metrics and Monitoring Metrics collection through access logs – we have tools for that Standard formats, universal meaning All-HTTP communications simplifies monitoring Techs at every level can tell when a component has failed
Managing the People Resources Important to not leave anyone behind on the old stuff Everyone wants to work on the new cool thing Applies to development, QA, operations Challenge is to create a broad range of knowledge about the new platform without wiping everyone’s brain of the old platform
What’s Next
Future of AOL.com Continues to be a key part of AOL’s web strategy International components Refreshing the page design  Business focus on revenue and UVs Closer integration with other core AOL products means more opportunities for developers to get large scale experience
Conclusion Positive and negative aspects of a platform migration Retraining is key, but so is remembering the characteristics of the product Huge cultural shift at AOL
Q&A

Contenu connexe

Similaire à Walls Velocity2009

System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cyclesourav verma
 
IT Modernization For Process Modernization
IT Modernization For Process ModernizationIT Modernization For Process Modernization
IT Modernization For Process ModernizationDheeraj Remella
 
Perficient PepsiCo Rich Internet Apps Seminar
Perficient PepsiCo Rich Internet Apps SeminarPerficient PepsiCo Rich Internet Apps Seminar
Perficient PepsiCo Rich Internet Apps SeminarPerficient, Inc.
 
Exploring the World of Full-Stack Web Development.pdf
Exploring the World of Full-Stack Web Development.pdfExploring the World of Full-Stack Web Development.pdf
Exploring the World of Full-Stack Web Development.pdfEllocent Labs
 
What Makes Dot Net Framework Better for Business Application Development.pptx
What Makes Dot Net Framework Better for Business Application Development.pptxWhat Makes Dot Net Framework Better for Business Application Development.pptx
What Makes Dot Net Framework Better for Business Application Development.pptxSaniyaSharma28
 
Alfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of SciencesAlfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of Sciencesrivetlogic
 
Directions on microsoft_web_and_cloud_development
Directions on microsoft_web_and_cloud_developmentDirections on microsoft_web_and_cloud_development
Directions on microsoft_web_and_cloud_developmentTakeshi Shinmura
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityBlueFish
 
Offshore Software Development Company
Offshore Software Development CompanyOffshore Software Development Company
Offshore Software Development CompanyIweballey
 
Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Harsh Tamakuwala
 
Zend php mobile and right scale rightscale compute 2013
Zend php mobile and right scale   rightscale compute 2013Zend php mobile and right scale   rightscale compute 2013
Zend php mobile and right scale rightscale compute 2013RightScale
 
The CMS of the Future
The CMS of the FutureThe CMS of the Future
The CMS of the FuturePeter Czech
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0minseok kim
 
Abstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere PortalAbstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere PortalPerficient, Inc.
 
Intro to FFW and Drupal
 Intro to FFW and Drupal Intro to FFW and Drupal
Intro to FFW and DrupalBrent Bice
 
Status update: Axiell Roadmap/ New features
Status update: Axiell Roadmap/ New featuresStatus update: Axiell Roadmap/ New features
Status update: Axiell Roadmap/ New featuresAxiell ALM
 
[Social innovation challenge][pitching]
[Social innovation challenge][pitching][Social innovation challenge][pitching]
[Social innovation challenge][pitching]Ann Lam
 

Similaire à Walls Velocity2009 (20)

System Development Life Cycle
System Development Life CycleSystem Development Life Cycle
System Development Life Cycle
 
IT Modernization For Process Modernization
IT Modernization For Process ModernizationIT Modernization For Process Modernization
IT Modernization For Process Modernization
 
Perficient PepsiCo Rich Internet Apps Seminar
Perficient PepsiCo Rich Internet Apps SeminarPerficient PepsiCo Rich Internet Apps Seminar
Perficient PepsiCo Rich Internet Apps Seminar
 
GenericFrame Technology
GenericFrame TechnologyGenericFrame Technology
GenericFrame Technology
 
Exploring the World of Full-Stack Web Development.pdf
Exploring the World of Full-Stack Web Development.pdfExploring the World of Full-Stack Web Development.pdf
Exploring the World of Full-Stack Web Development.pdf
 
What Makes Dot Net Framework Better for Business Application Development.pptx
What Makes Dot Net Framework Better for Business Application Development.pptxWhat Makes Dot Net Framework Better for Business Application Development.pptx
What Makes Dot Net Framework Better for Business Application Development.pptx
 
Alfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of SciencesAlfresco WCM Case Study: National Academy of Sciences
Alfresco WCM Case Study: National Academy of Sciences
 
Directions on microsoft_web_and_cloud_development
Directions on microsoft_web_and_cloud_developmentDirections on microsoft_web_and_cloud_development
Directions on microsoft_web_and_cloud_development
 
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author ProductivityStreamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
 
Offshore Software Development Company
Offshore Software Development CompanyOffshore Software Development Company
Offshore Software Development Company
 
Drupal Capabilities @ Neev
Drupal Capabilities @ NeevDrupal Capabilities @ Neev
Drupal Capabilities @ Neev
 
Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.Documentation of Online jobs for BCA last sem on PHP.
Documentation of Online jobs for BCA last sem on PHP.
 
Zend php mobile and right scale rightscale compute 2013
Zend php mobile and right scale   rightscale compute 2013Zend php mobile and right scale   rightscale compute 2013
Zend php mobile and right scale rightscale compute 2013
 
The CMS of the Future
The CMS of the FutureThe CMS of the Future
The CMS of the Future
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
 
Abstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere PortalAbstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere Portal
 
Intro to FFW and Drupal
 Intro to FFW and Drupal Intro to FFW and Drupal
Intro to FFW and Drupal
 
Status update: Axiell Roadmap/ New features
Status update: Axiell Roadmap/ New featuresStatus update: Axiell Roadmap/ New features
Status update: Axiell Roadmap/ New features
 
[Social innovation challenge][pitching]
[Social innovation challenge][pitching][Social innovation challenge][pitching]
[Social innovation challenge][pitching]
 
.Net @ Neev
.Net @ Neev.Net @ Neev
.Net @ Neev
 

Plus de Mandi Walls

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfMandi Walls
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineeringMandi Walls
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service OwnershipMandi Walls
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsMandi Walls
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020Mandi Walls
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Mandi Walls
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityMandi Walls
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xMandi Walls
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopMandi Walls
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018Mandi Walls
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopMandi Walls
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecMandi Walls
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beMandi Walls
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker budMandi Walls
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpecMandi Walls
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab ITMandi Walls
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017Mandi Walls
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Mandi Walls
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017Mandi Walls
 

Plus de Mandi Walls (20)

DOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdfDOD Raleigh Gamedays with Chaos Engineering.pdf
DOD Raleigh Gamedays with Chaos Engineering.pdf
 
Addo reducing trauma in organizations with SLOs and chaos engineering
Addo  reducing trauma in organizations with SLOs and chaos engineeringAddo  reducing trauma in organizations with SLOs and chaos engineering
Addo reducing trauma in organizations with SLOs and chaos engineering
 
Full Service Ownership
Full Service OwnershipFull Service Ownership
Full Service Ownership
 
PagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call TeamsPagerDuty: Best Practices for On Call Teams
PagerDuty: Best Practices for On Call Teams
 
InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020InSpec at DevOps ATL Meetup January 22, 2020
InSpec at DevOps ATL Meetup January 22, 2020
 
Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019Prescriptive Security with InSpec - All Things Open 2019
Prescriptive Security with InSpec - All Things Open 2019
 
Using Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure SecurityUsing Chef InSpec for Infrastructure Security
Using Chef InSpec for Infrastructure Security
 
Adding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17xAdding Security to Your Workflow With InSpec - SCaLE17x
Adding Security to Your Workflow With InSpec - SCaLE17x
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
BuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec WorkshopBuildStuff.LT 2018 InSpec Workshop
BuildStuff.LT 2018 InSpec Workshop
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018
 
DevOpsDays InSpec Workshop
DevOpsDays InSpec WorkshopDevOpsDays InSpec Workshop
DevOpsDays InSpec Workshop
 
Adding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpecAdding Security and Compliance to Your Workflow with InSpec
Adding Security and Compliance to Your Workflow with InSpec
 
InSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.beInSpec - June 2018 at Open28.be
InSpec - June 2018 at Open28.be
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Ingite Slides for InSpec
Ingite Slides for InSpecIngite Slides for InSpec
Ingite Slides for InSpec
 
Habitat at LinuxLab IT
Habitat at LinuxLab ITHabitat at LinuxLab IT
Habitat at LinuxLab IT
 
InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017InSpec Workshop DevSecCon 2017
InSpec Workshop DevSecCon 2017
 
Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017Habitat Workshop at Velocity London 2017
Habitat Workshop at Velocity London 2017
 
InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017InSpec Workflow for DevOpsDays Riga 2017
InSpec Workflow for DevOpsDays Riga 2017
 

Dernier

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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
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
 
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
 
"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
 
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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Dernier (20)

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
 
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
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
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
 
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
 
"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
 
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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Walls Velocity2009

  • 1. www.aol.comMigrating a Flagship Product from a Proprietary Web Platform to Open Source Mandi Walls Velocity 2009
  • 2. Agenda Evolution of a flagship site The old platform: “AOL Dynamic Platform” The new platform: “Dynapub” Growing pains Knowledge migration
  • 3. Evolution of www.aol.com You might have seen it before. AOL’s main home page Links to various internal and partner sites Runs Netscape, Latino, Mexico portals, as well as partner co-brands Also the in-client “Welcome Screen” with a slightly different look and feel It’s the same page, 55M times a day!
  • 7. AOL.com 4.0 – 2008 AOL gets to Web 2.0
  • 8. Monthly Pageviews – From April 2005
  • 9. The AOL Dynamic Platform The Old Platform - ADP
  • 11. ADP AOLserver on every layer Internally developed and maintained Historically related to DigitalCity, 10 years of continuous new development Proprietary point to point, permanently connected communications 90% of the data transient in RAM N-tier Configuration in TCL! Multiple frontend farms shared all infrastructure Optimized for real time publishing with caching Still handling millions of hits a day after large migration efforts Scaled at 45hps per server instance
  • 12. Proprietary Systems: Pros / Cons Good stuff The person who wrote it might sit down the hall I can write my own extensions No licensing Shoot me The person who wrote it left the company years ago I have to write my own extensions Google can’t help me with this problem… Hard to apply new ideas evolved in the industry.
  • 15. Features of AOL.com’s New Architecture Standalone environment Fewer internally developed systems Standard connectivity over HTTP Hides fewer flaws Requires more technical how-to from development
  • 18. Lessons Learned – Migration Process One size fits most Proprietary platforms hide many sins Learning curve on new tech is frustrating The customers aren’t always going to like it Easy to get in a hurry and lose time
  • 19. Managing Architectural Complexity Some things did get more complicated than they needed to be Just because you *can* do something, doesn’t mean you should There are a lot more things to look at, and for our team to be responsible for than on the old platform
  • 20. Knowledge Migration Learning the New Environment
  • 22. Metrics and Monitoring Metrics collection through access logs – we have tools for that Standard formats, universal meaning All-HTTP communications simplifies monitoring Techs at every level can tell when a component has failed
  • 23. Managing the People Resources Important to not leave anyone behind on the old stuff Everyone wants to work on the new cool thing Applies to development, QA, operations Challenge is to create a broad range of knowledge about the new platform without wiping everyone’s brain of the old platform
  • 25. Future of AOL.com Continues to be a key part of AOL’s web strategy International components Refreshing the page design Business focus on revenue and UVs Closer integration with other core AOL products means more opportunities for developers to get large scale experience
  • 26. Conclusion Positive and negative aspects of a platform migration Retraining is key, but so is remembering the characteristics of the product Huge cultural shift at AOL
  • 27. Q&A

Notes de l'éditeur

  1. Few products reflect the direction of a company the way AOL.com has been changed to reflect the evolution of AOL’s core business. Early examples of www.aol.com available in the Internet Archive are examples of how the site was used to attract customers to AOL’s ISP business. For a number of years, the portal was also “AOL Anywhere”, a companion to the client-based ISP system. In the past several years it has been refocused as a web portal and the push to advertise the ISP products has all but completely disappeared from the main site.
  2. Courtesy of the Wayback Machine, aol.com in 1996. Focused on selling the original access products, getting people interested in AOL’s walled garden experience. The portal went through several years of being “AOL Anywhere”, secondary to the AOL client experience and dialup connectivity.
  3. The first release on ADP, July 2005. Migrated from another internally developed publishing platform, Shark, with AOLserver frontends. Introduction of the Video Portal. This version almost ended up on another proprietary platform based on a “web” server that didn’t implement most of HTTP. Frontends on Linux, and eventually the middleware was migrated as well.
  4. The design of the site for the last version to run on ADP, Welcome Screen version. The version famous for looking like Yahoo! at that time. The second major release on the ADP platform, there’s no banner or large invitation on the site to download the AOL dial client, but links to AOL software are still above the fold. Much of the page is configurable to the publishers. Content is a mix of programming and ingested feeds. Still some deadended components in the infrastructure – pieces that no one knows how to work on anymore, though nearly all components now run on Linux.
  5. The redesign that came along with the migration. Totally devoted to a web experience, includes various non-AOL web partners, runs real media ads. 100% of the page can change through publishing. The only mention of the AOL Client is at the bottom of the page, under “Services”. The whole environment is based on standard Open Source components and runs on Linux.
  6. A growth in pageviews during the same era. In addition to contending with the limitations of the platforms, we were working on how to accommodate the hits.
  7. Single origin for published data, including much of the objects coming from feeds and partners. The middleware includes index and search, small objects publishing stores, art and static objects, click tracking for metrics and reporting, mail spools for “send to a friend” functionality, databases for music, movies, news. The AOLserver frontends are broken up into farms that serve specific products – AOL.com, the AOL Channels, News, Feeds for Travel and Syndication, Moviefone, Video, etc.
  8. What the architecture really looked like. This diagram was created in 2005.“Other” connectivity can be database replication,rsync, rsync-over-dci, etc. The amount of proprietary and non-portable connections and components made the option of migrating the architecture piecemeal unmanageable. There is little here that could have been used directly without porting core connectivity components to the new platform.The “pub” cloud is one very large and very unhappy V880.
  9. The baseline AOLserver software is C with a TCL interface. The original bits were purchased and then extended over a number of years internally. Of the more idiosyncratic characteristics of the ADP infrastructure, the connectivity was the most single-use piece, developed to completely adhere to AOL’s network standards and creating headaches and topology nightmares.All RPC connections originated with the publishing master, and the master held a complete view of all hosts in the network – as many as 2000 single-function applications at a time, with complex interconnectivity to manage caching and flushing and real-time updates to data and search indexes. The size of the topology and geographical distribution required a multi-tiered connectivity plan, with repeaters localized to the frontend servers to keep the master from being overburdened.Adding insult to this injury, all the configuration was written in TCL. A single misplaced bracket could crash an entire farm of hosts, and if was particularly well-placed, the entire infrastructure.At one point, nearly all of AOL’s web presence was somehow attached to or dependent on this system except for search and the primary components of the webmail system (though webmail used a header that relied on a piece in this).For all the nightmares, the system was fairly fast for what it was doing. 100% of hits to these farms demanded dynamically generated content, so most of the data was held in RAM on the frontends, with very little on disk permanently. The request-on-demand nature of most of the data meant that a cold cache was populated with data as it was needed to create pages. The cache-hit rate on a quiesced server could be anywhere from 90% to 99.9% depending on the farm and types of requests it serviced, even with very little memory devoted to cache (<40MB).However, this memory-intensive storage system meant that on a 32bit system, the servers start to flake out when they reach 2GB of RAM used, and without engineers to build and verify a 64bit build, the system basically obsoleted itself.
  10. Continuing to maintain a proprietary infrastructure for a number of years requires careful management of the people who know all the bits of the system. Losing the primary developer on any component or subsystem can (and often does) mean a slow painful death for that system, regardless of how many products rely on it. Letting politics get in the way of the product lifecycle is particularly fun.Building your infrastructure components from the ground up means building everything yourself. A product needs click-through tracking? Gotta build a system for it. Someone else wants Captcha? Build it yourself. The amount of time and resources necessary to create everything you need from the ground up will put you years behind everyone else (hmm…). While the ADP system eventually had enough basic reusable components to build basic systems, by the time it reached that point most of the original engineers had left and new components or ports of old components were nearly impossible to accomplish.In a proprietary environment, no one on the Internet can hear you scream.
  11. The new environment, called “Dynapub” is based on common Open Source components, including Apache, Tomcat, and MySQL. The basic components of the Dynapub stack can be arranged in any number of ways to provide services as needed by the product, so while any given Dynapub environment contains the same basic building blocks, any two environments aren’t necessarily all that similar.
  12. As opposed to the old architecture, the new systems are largely based on HTTP, and the services run on farms behind load balancers.The databases are all MySQL versus the old flat file PLS databases that supported the ADP architecture.
  13. AOL.com no longer shares components with any of our other sites. The combination of a standalone environment and the open architecture requires more knowledge of how to connect components and make use of resources. In the old environment, all the connectivity was already defined as part of the platform itself and no one really had to fully understand how it worked or how to use it – the abstraction was good, but over time weakened the maintainability and robustness of the whole system.The new system is not without standard practices, but instead of being built on 10 year old assumptions they are based on our actual performance and use of resources.
  14. This graph illustrates the long process of getting to optimum scaling. AOL.com has the opposite problem from a start up project – we had the ability to overbuy hosts to accommodate a worst-case performance level that was well below what we would normally want to have. The slow process of getting to where the apps can actually run reflects the business role the site has. It’s incredibly important to have the site up as much as possible, even if we aren’t trying for five nines anymore. This graph doesn’t show the other metrics we were using to make the scaling decisions, such as memory and CPU utilization, but reflects the effects of decisions based on those metrics. The old code was well understood by not only the operations team but also the dev team. There is more collaborative code in this new environment that has the potential to have significant effects on the overall performance.
  15. At the end of life for the old system, there was little that could be added in the way of modern features. The new system is much more extensible, but still isn’t completely prescriptive for every site that might use it. All the applications will perform differently, and fortunately Operations is now able to scale resources to meet the needs of all the products much more easily.The old system allowed us (Ops) to gloss over what was really going on simply because certain things were “always done that way”. Coming back into an open platform means making sure that anything being redesigned takes into account that there was a reason we use a CDN the way we do, that there are certain benefits and limitations to our networking equipment, and other such things that we were able to handwave on the old platform because it was so ingrained.
  16. Scaling all the individual layers is challenging to keep up with while keeping the site running and working on the number of installations we did during the rollout. Knowing which combinations of threads, children, connections, applications, hosts, etc are required to best serve the traffic without wasting resources takes a concentrated effort.Using the old system as a complexity baseline, the new system is much simpler to understand. The old system was mostly divided between a couple of teams, another trick to hide the overall complexity.
  17. It’s important to keep in mind *why* a particular characteristic was built into the old platform. This graph is an example of one of the main features of the old infrastructure that we added to AOL.com on the new platform. For every page served by Tomcat, there is a series of calls to the publishing system. Originally, there was no caching policy for all Dynapub sites. ADP had a greedy caching system that caught 99.4% of all requests for publishing data for AOL.com pages. During the migration of AOL.com to Dynapub, caching was not originally included, and we started to look at widening the datastore layer. A caching model was launched into the production farm in mid-December when the publishing layer was having trouble dealing with the requests from Tomcat. The frontend was only taking about 20-30% of total traffic at this time. In mid-January some new features were launched without the caching enhancement enabled, and that was fixed.
  18. One of the side-effects of having a totally proprietary environment is needing to come up with some way to monitor everything. AOLserver has a complex set of application monitoring components, not all of which were terribly helpful, but our monitoring system isn’t sophisticated enough to make smart decisions about them. Limited support for AOLserver meant that our new metrics environment never received an AOLserver monitoring module. The cut over to all HTTP communications is a huge win for operations in this migration. HTTP is easy to monitor and easy to collect metrics from. The log formats are well defined and meaningful. Additionally, it’s easier to create alerts and for the NOC to determine if the system is broken.
  19. Finally, this entire experience represents a huge cultural change for AOL, away from creating and maintaining proprietary systems. Unchaining resources from low value-added positions leaves more time for working on innovative projects. While the old infrastructure had many innovative qualities when it was new, continuing to support a comprehensive platform holds people back from new innovative opportunities when externally available components surpass what is available internally.