Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Devopsdays barcelona

363 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Devopsdays barcelona

  1. 1. Telefónica Digital TELEFÓNICA DIGITAL Barcelona, October 11th 2013
  2. 2. Telefónica Digital Product Development & Innovation About: me  last 8 years i have been working as performance test engineer with different tools and enviroments. 2
  3. 3. Architecture Design Web Performance OptimizationWeb Performance Optimization
  4. 4. No instruments Users Review Late or none Performance Testing No Real User Monitoring Reactive Performance Tuning
  5. 5. No tools, no performance dashboard, performance is for sysadmins and operatorsNo tools, no performance dashboard, performance is for sysadmins and operators
  6. 6. Releases are costly and it may take several months of workReleases are costly and it may take several months of work
  7. 7. Manual testing of each release after code freezeManual testing of each release after code freeze
  8. 8. Non functional Requirements are most likely ignoredNon functional Requirements are most likely ignored
  9. 9. In production there is no monitoring of the traffic and how it affects the businessIn production there is no monitoring of the traffic and how it affects the business
  10. 10. Users feedback is usually negative and there is no interaction with developers and designersUsers feedback is usually negative and there is no interaction with developers and designers
  11. 11. Application’s performance affects directly to market’s performanceApplication’s performance affects directly to market’s performance
  12. 12. • Continuous Integration – Functional testing – Automation – Monitoring
  13. 13. Continuous Integration for functional testing is working already in nightly buildsContinuous Integration for functional testing is working already in nightly builds
  14. 14. Automation reduces time to market for the applicationsAutomation reduces time to market for the applications
  15. 15. Monitoring the real user behaviour and not just healthcheck of serversMonitoring the real user behaviour and not just healthcheck of servers
  16. 16. Error and risks managementError and risks management
  17. 17. Tuning and bugfixingTuning and bugfixing
  18. 18. Listening to user feedbackListening to user feedback
  19. 19. The FutureThe Future • Continuous Performance Integration – Performance tests integrated in Jenkins – Automation of the trend reports – Real User Monitoring  Real time feedback
  20. 20. Telefónica Digital Product Development & Innovation SCRUM and PERFORMANCE 20
  21. 21. Pruebas de RendimientoPruebas de Rendimiento Proactive Performance testing for each release. Load tests will discover the flaws and bottlenecks, the application or the systemProactive Performance testing for each release. Load tests will discover the flaws and bottlenecks, the application or the system may have in production environmentmay have in production environment TestingTestingTestingTesting
  22. 22. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento esConocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es La hipótesis de partida con más éxito.La hipótesis de partida con más éxito. High availability of the application and the system is the goal of a ready for service status. The application and the systems must be stable ,High availability of the application and the system is the goal of a ready for service status. The application and the systems must be stable , efficient and dimensioned according to the usage.efficient and dimensioned according to the usage. AvailabilityAvailabilityAvailabilityAvailability
  23. 23. Not only the response time is important, an intelligent use of the resources is needed to grow in the future. Efficiency, understood asNot only the response time is important, an intelligent use of the resources is needed to grow in the future. Efficiency, understood as capacity to dispose of the system resources to achive an objective, in our case response time and uptimecapacity to dispose of the system resources to achive an objective, in our case response time and uptime VelocityVelocityVelocityVelocity
  24. 24. Being able to grow depending on the necessities of the market, users and new technologies is one of the questions to which a performanceBeing able to grow depending on the necessities of the market, users and new technologies is one of the questions to which a performance engineerfor will have to answerengineerfor will have to answer ScalabilityScalabilityScalabilityScalability
  25. 25. A performance test is easy. It is easy to design non realistic scenarios. It is easy to collect irrelevant data. Even with a good scenario andA performance test is easy. It is easy to design non realistic scenarios. It is easy to collect irrelevant data. Even with a good scenario and Appropiate data, it is easy to use and incorrect statistic method to analysis the results.Appropiate data, it is easy to use and incorrect statistic method to analysis the results. - Alberto Savoia- Alberto Savoia ScenariosScenariosScenariosScenarios
  26. 26. One of the most important parts of a good performance test design is to have an appropiate load test environment, as similar as possible toOne of the most important parts of a good performance test design is to have an appropiate load test environment, as similar as possible to Production at all levels, networking, systems and application architecture.Production at all levels, networking, systems and application architecture. PreProductionPreProductionPreProductionPreProduction
  27. 27. Otro título EscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenariosEscenarios To know the production environment is key to take good decisions about how to design a performance test plan. Designing a plan accordingTo know the production environment is key to take good decisions about how to design a performance test plan. Designing a plan according To real traffic and usage of the platform is key in creating validation criteriaTo real traffic and usage of the platform is key in creating validation criteria MonitoringMonitoringMonitoringMonitoring
  28. 28. DevelopersDevelopers,, DBA's,DBA's, QA's, DevOps, product owners ... All the team is part of performanceQA's, DevOps, product owners ... All the team is part of performance Performance TeamsPerformance TeamsPerformance TeamsPerformance Teams
  29. 29. Otro título There are many tools available in the market for load testing and monitoring. An effort in evaluating these tools will benefit at long term theThere are many tools available in the market for load testing and monitoring. An effort in evaluating these tools will benefit at long term the Execution of the tests. However, the most important part is how the reports are generated and who is going to interpret them.Execution of the tests. However, the most important part is how the reports are generated and who is going to interpret them. ToolsToolsToolsTools
  30. 30. Otro título Mas puntos Not only unique users or session times are important. How the users work with the application and the psicology of the them are key toNot only unique users or session times are important. How the users work with the application and the psicology of the them are key to Understand the results and how it affects to business.Understand the results and how it affects to business. Real User MonitoringReal User MonitoringReal User MonitoringReal User Monitoring
  31. 31. Keep it simple, use cache wisely, invest in testing and monitoring, create a culture of performance in all the organizationKeep it simple, use cache wisely, invest in testing and monitoring, create a culture of performance in all the organization Best PracticesBest PracticesBest PracticesBest Practices
  32. 32. Tuning Techonology develops at high speed. To bring out the best of our product, business and techonology need to evolve by the hand. Investing inTechonology develops at high speed. To bring out the best of our product, business and techonology need to evolve by the hand. Investing in Performance research is crucial to keep up with other internet competitors.Performance research is crucial to keep up with other internet competitors. InnovationInnovationInnovationInnovation
  33. 33. Telefónica Digital Product Development & Innovation Understand the Project Vision and Context Project Vision Project Context Understand the system Understand the Project Environment Understand the Performance Build Schedule 35
  34. 34. Telefónica Digital Product Development & Innovation Improved way of working Improve performance unit testing by pairing performance testers with developers. Assess and configure new hardware by pairing performance testers with administrators. Evaluate algorithm efficiency. Monitor resource usage trends. Measure response times. Collect data for scalability and capacity planning. 36
  35. 35. Telefónica Digital Product Development & Innovation Configure the Test Environment Set up isolated networking environment Procure hardware as similar as possible to production or at least keeping ration amongst all elements Coordinate bank of IP’s for IP spoofing Monitoring tools and operating systems like production Load generation tools or develop your own 37
  36. 36. Telefónica Digital Product Development & Innovation Identify and Coordinate Tasks Work item execution method Specifically what data will be collected Specifically how that data will be collected Who will assist, how, and when Sequence of work items by priority 38
  37. 37. Telefónica Digital Product Development & Innovation Execute Task(s) Keys to Conducting a Performance-Testing Task • Analyze results immediately and revise the plan accordingly. • Work closely with the team or sub-team that is most relevant to the task. • Communicate frequently and openly across the team. • Record results and significant findings. • Record other data needed to repeat the test later. • Revisit performance-testing priorities after no more than two days. 39
  38. 38. Telefónica Digital Product Development & Innovation Analyze Results and Report  pause periodically to consolidate results conduct trend analysis create stakeholder reports, pair with developers, architects, and administrators to analyze results 40
  39. 39. But … what are you actually doing day by day?But … what are you actually doing day by day?
  40. 40. Telefónica Digital Product Development & Innovation Case of STUDY 42
  41. 41. • HTML5 trends using Yslow and Firebug
  42. 42. Branches comparison

×