SlideShare a Scribd company logo
1 of 38
Building configurable applications for the web Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo! Despite the logos above, even a poor man’s shell script will do.  We want to build our software without effort, know that the app is up, and make sure performance didn’t drop dramatically.
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],Tom Melendez, Yahoo! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo! http://en.wikipedia.org/wiki/Defcon
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo! if (is_object($xml_resp) ) { //site blows up $xml_resp->xpath(“/something/that/does_not/exist”); } if (is_object($xml_resp) && $xml_resp instanceof SimpleXMLElement) { //better, but you still don’t know if it is valid as you see it.  Could be an error message in XML format $xml_resp->xpath(“/something/that/does_not/exist”); }
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo!
Building configurable applications for the web ,[object Object],Tom Melendez, Yahoo! vars: story_fe_ep: <internal dns name> templates:  news.template paths: ... /s/: endpoint: %{story_fe_ep}/news/story/v3/en-US/s  ... hosts: news.yahoo.com template: news.template
Building configurable applications for the web ,[object Object],Tom Melendez, Yahoo! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Building configurable applications for the web ,[object Object],[object Object],[object Object],[object Object],Tom Melendez, Yahoo! photo courtesy of red5standingby@ on Flickr
Building configurable applications for the web ,[object Object],[object Object],Tom Melendez, Yahoo!

More Related Content

What's hot

Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...
Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...
Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...
CITYTECH, Inc.
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
connectwebex
 

What's hot (20)

Browser Developer Tools
Browser Developer ToolsBrowser Developer Tools
Browser Developer Tools
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
 
Chapter3 mo
Chapter3 moChapter3 mo
Chapter3 mo
 
COB - PowerApps - the good, the bad and the ugly - early 2018
COB - PowerApps - the good, the bad and the ugly - early 2018COB - PowerApps - the good, the bad and the ugly - early 2018
COB - PowerApps - the good, the bad and the ugly - early 2018
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best Practices
 
Resume 10-24-16
Resume 10-24-16Resume 10-24-16
Resume 10-24-16
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
Asp.net
 Asp.net Asp.net
Asp.net
 
Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)Chapter 1 (asp.net over view)
Chapter 1 (asp.net over view)
 
single page application
single page applicationsingle page application
single page application
 
Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kiosk
 
online music store
online music storeonline music store
online music store
 
Android course session 6 ( intoduction to android)
Android course session 6 ( intoduction to android)Android course session 6 ( intoduction to android)
Android course session 6 ( intoduction to android)
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEX
 
DNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With XamarinDNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With Xamarin
 
«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​
«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​
«Разрушаем Вавилонскую Башню WWW с помощью веб-компонент»​
 
Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...
Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...
Cross Platform Mobile Development: The Easy Way to Develop Native iPhone & An...
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​«I knew there had to be a better way to build mobile app»​
«I knew there had to be a better way to build mobile app»​
 
«The Grail: React based Isomorph apps framework»​
«The Grail: React based Isomorph apps framework»​«The Grail: React based Isomorph apps framework»​
«The Grail: React based Isomorph apps framework»​
 

Similar to Building configurable applications for the web

Uklug 2011 administrator development synergy
Uklug 2011 administrator development synergyUklug 2011 administrator development synergy
Uklug 2011 administrator development synergy
dominion
 

Similar to Building configurable applications for the web (20)

App-ifiying WordPress: Practical Tips for Using WordPress as an Application P...
App-ifiying WordPress: Practical Tips for Using WordPress as an Application P...App-ifiying WordPress: Practical Tips for Using WordPress as an Application P...
App-ifiying WordPress: Practical Tips for Using WordPress as an Application P...
 
Easy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deploymentEasy oracle & weblogic provisioning and deployment
Easy oracle & weblogic provisioning and deployment
 
Application compatibility final
Application compatibility finalApplication compatibility final
Application compatibility final
 
Devops interview questions
Devops interview questionsDevops interview questions
Devops interview questions
 
Top 10 Scalability Mistakes
Top 10 Scalability MistakesTop 10 Scalability Mistakes
Top 10 Scalability Mistakes
 
Symfony2
Symfony2Symfony2
Symfony2
 
Domain Name
Domain NameDomain Name
Domain Name
 
Micro services
Micro servicesMicro services
Micro services
 
Wordpress development 101
Wordpress development 101Wordpress development 101
Wordpress development 101
 
FME UC 2014: Keynote from Boundless
FME UC 2014: Keynote from BoundlessFME UC 2014: Keynote from Boundless
FME UC 2014: Keynote from Boundless
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Top10 Salesforce.com Admin Tools
Top10 Salesforce.com Admin ToolsTop10 Salesforce.com Admin Tools
Top10 Salesforce.com Admin Tools
 
Welsh, Ben: The framework fix: how to build better archives by helping news n...
Welsh, Ben: The framework fix: how to build better archives by helping news n...Welsh, Ben: The framework fix: how to build better archives by helping news n...
Welsh, Ben: The framework fix: how to build better archives by helping news n...
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
Web Programming
Web Programming Web Programming
Web Programming
 
Uklug 2011 administrator development synergy
Uklug 2011 administrator development synergyUklug 2011 administrator development synergy
Uklug 2011 administrator development synergy
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability Mistakes
 
Beginners guide-to-coding-updated
Beginners guide-to-coding-updatedBeginners guide-to-coding-updated
Beginners guide-to-coding-updated
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website Performance
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
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...
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 

Building configurable applications for the web

  • 1. Building configurable applications for the web Tom Melendez, Yahoo!
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.

Editor's Notes

  1. As infrastructure, I’m responsible for building backend components as well as telling everyone else why their components don’t work. We’ll talk more about that during the presentation
  2. It means a lot to me. I’m using the term configurable “loosely”
  3. No big ideologies or frameworks here. If you want to go on vacation and/or work on cool stuff, give others the power to control your app so they don’t need to come to you.
  4. Unique states used for debugging or bucket testing for example. We’ll definitely be sloped toward site availability in this talk but these are all important
  5. Or maybe you’re a small company or startup or a manager who has engineers that are overworked and deadlines that are too tight.
  6. Build info into your app and your process to let others manage it effectively. This is not a selfish endeavor; we all want to spend more time doing the fun things in programming like coding and design. Not triage.
  7. You won’t get the bang for the buck if you don’t have this. You want have the power to quickly and reliably deploy fixes, configuration changes and even roll back. In the same vain as what Sebastian said yesterday, “You want to make deployments a non-event”. This is hard, as in order for them to truly be routine, you need extensive automated testing and such in place. But, the first thing you need is the mechanism to actually build the host.
  8. We want to have a baseline as to how much you can handle. something like siege, ab, http_load
  9. Twitter – don’t forget the API
  10. Getting this on the table early is important. You’re doing this with wireframes, right? Once everyone knows at what points these things happen, discussions can begin as to what to do at those points and how to mitigate them
  11. High value low cost: if something is a priority 3 but really expensive resource-wise to produce you might want to take that early on, especially if you are expecting increased traffic
  12. Go over Defcon levels. Defcon levels also have business procedures as well (Notify XYZ of situation, etc.). Your priority list serves as the basis as to what levels and knobs to engage. Example Level 4 for News: Emmy awards, MJ tribute. Level 3 is where we plan on degradation of service based on expections, Level 2 is where we implement degradation of service
  13. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  14. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  15. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  16. Lets also talk about defensive code a bit
  17. Lets also talk about defensive code a bit
  18. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  19. Flesh this out, talk about a db or web service that isn’t there. Yes, you can fetch it from the cache but you shouldn’t try to connect to it if it likely won’t be there
  20. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  21. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  22. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  23. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  24. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  25. Application defaults, you shouldn’t hardcore ‘5’ in the SQL query to determine how many blog posts to fetch. Display settings you want those sorted by date, or maybe even what fields are displayed?
  26. As infrastructure, I’m responsible for building backend components as well as telling everyone else why their components don’t work. We’ll talk more about that during the presentation