SlideShare a Scribd company logo
Title Page
What is a Facebook application?
Developers are attracted to Facebook
Developers’ dreams and nightmares
Developers fool themselves
Testing web applications
Web apps VS. Facebook apps
Traditional load testing with Facebook
FriendRunner
FriendRunner is a hosted service
Recording a test script
Specifying FriendRunner parameters
FriendRunner testing models
FriendRunner viral mode
Creating virtual users
Compiled results
Test results are accurate
FriendRunner API
FriendRunner is in alpha test
Thank you

More Related Content

Viewers also liked

Chapter 12 Geog
Chapter 12 GeogChapter 12 Geog
Chapter 12 Geog
Maris Stella High School
 
Marketing Database
Marketing DatabaseMarketing Database
Marketing Database
Jo Gielen
 
מי אתם דור Z
מי אתם דור Zמי אתם דור Z
מי אתם דור Z
Holesinthenet
 
architecture 2B
architecture 2Barchitecture 2B
architecture 2B
DarrenBailey
 
Resume Tjumic 7 2009
Resume Tjumic 7 2009Resume Tjumic 7 2009
Resume Tjumic 7 2009
TJUMIC
 
Paywalls in action by Lior Kodner
Paywalls in action by Lior KodnerPaywalls in action by Lior Kodner
Paywalls in action by Lior Kodner
Holesinthenet
 
ケータイ白書2009山本パート
ケータイ白書2009山本パートケータイ白書2009山本パート
ケータイ白書2009山本パートchonmage
 

Viewers also liked (7)

Chapter 12 Geog
Chapter 12 GeogChapter 12 Geog
Chapter 12 Geog
 
Marketing Database
Marketing DatabaseMarketing Database
Marketing Database
 
מי אתם דור Z
מי אתם דור Zמי אתם דור Z
מי אתם דור Z
 
architecture 2B
architecture 2Barchitecture 2B
architecture 2B
 
Resume Tjumic 7 2009
Resume Tjumic 7 2009Resume Tjumic 7 2009
Resume Tjumic 7 2009
 
Paywalls in action by Lior Kodner
Paywalls in action by Lior KodnerPaywalls in action by Lior Kodner
Paywalls in action by Lior Kodner
 
ケータイ白書2009山本パート
ケータイ白書2009山本パートケータイ白書2009山本パート
ケータイ白書2009山本パート
 

Recently uploaded

June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 

Recently uploaded (20)

June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 

Editor's Notes

  1. Hi, I’m Sander Smith, president of Sericon Technology. I’d like to talk with you about FriendRunner, a cloud-based tool that we developed that helps Facebook application developers determine just how scalable their systems are.
  2. Facebook applications are web apps that integrate into the Facebook Platform. They’re typically created by third party developers who use Facebook as a distribution method. Early Facebook apps tended to be trivial throw-away applications.
  3. But that’s changing as brands and corporate users begin to leverage Facebook. Developers are drawn to this platform because they think they can build a large user base. The Facebook social graph enables the applications to go viral.
  4. Now every developer wants their application to go viral, but there are some nagging worries. Have I made the right hosting choice? Will my application properly scale? If my app crashes, do I get a second chance at success?
  5. Now there are lots of ways for people to fool themselves into thinking that their application will scale. However, experience shows us that while these things are good, there’s really only one real way to know what happens at 10,000 simultaneous users.
  6. You’ve got to test it. That’s how regular web application developers work, and Facebook developers shouldn’t be any different. This is just good software engineering practice. There are lots of good testing tools available to help you do this.
  7. But those tools won’t work with Facebook apps because of a fundamental difference between web apps and Facebook. Normally, a user browses directly to a web app, but Facebook forces you to go through their servers to get to the application.
  8. If you try to use a normal load testing tool with a Facebook app, all you’ll end up doing is slamming the Facebook servers. This violates their Terms of Use, and will look like a denial of service attack. They’ll cut you off pretty quickly.
  9. And that’s why we built FriendRunner. FriendRunner allows developers to fully test their applications without using the Facebook servers. Once those applications are tested, they can be deployed onto Facebook with confidence.
  10. FriendRunner is hosted in the cloud so there’s nothing for anyone to install. Developers who want to use FriendRunner can simply go to our website and use it immediately without having to spend a lot of time learning the tool itself. We make it as easy as possible.
  11. To run a test, we first create a script of the actions that a typical user would take when using the app. We use Selenium which is a FireFox add-on to do this. We simply interact with our app normally, and let Selenium record everything for us.
  12. Once this is done, we upload the script into FriendRunner and define the additional parameters such the duration of the test and the number of virtual users. All that’s left to do is decide how to allocate those users during the test.
  13. We can ramp up the number of users over a specific amount of time, keep them constant over the life of the test, or run a stress test and simply add more users until something finally breaks with the application that’s being tested.
  14. We also have a viral mode which tries to mimic how the user base of a viral application grows. It uses heuristics and historical data such as the usage patterns of different geographical areas. This is great to use when testing over an extended period of time.
  15. When the test begins to run, FriendRunner launches virtual users that interact with your Facebook application using the test script that you created. We use a grid of computers to do this so we can simulate as many users as you like.
  16. After the test is complete, we show the data that we’ve compiled. This includes information such as the number of errors encountered, the duration of various tasks, and the effect that load had on the application’s responsiveness.
  17. Since we control the entire system, our results are very accurate and won’t be affected by what’s happening at the Facebook servers. This makes it much easier to optimize your application, and would be impossible to do if you tested it through Facebook.
  18. We’ve also built an API into the FriendRunner infrastructure so that anyone can create additional functionality that they need. For instance, we’re developing a way to test for security problems in Facebook applications using this API.
  19. FriendRunner is currently ready for limited alpha testing. If you or someone you know is developing Facebook applications and you think that FriendRunner could be a useful tool, please let us know. We’d be happy to work with you.
  20. If you find FriendRunner fascinating and would like to know more about it, please contact us, we’d be happy to hear from you. If you liked the presentation, leave a comment and let us know what you thought. Thanks a lot for your time.