devopsdays barcelona
DESCRIPTION
TRANSCRIPT
Telefónica Digital
TELEFÓNICA DIGITAL
Barcelona, October 11th 2013
Telefónica DigitalProduct Development & Innovation
About: me
last 8 years i have been working as performance test engineer with different tools and enviroments.
2
Architecture DesignWeb Performance OptimizationWeb Performance Optimization
No instruments
Users Review
Late or none Performance Testing
No Real User Monitoring
Reactive Performance Tuning
No tools, no performance dashboard, performance is for sysadmins and operatorsNo tools, no performance dashboard, performance is for sysadmins and operators
Releases are costly and it may take several months of workReleases are costly and it may take several months of work
Manual testing of each release after code freezeManual testing of each release after code freeze
Non functional Requirements are most likely ignoredNon functional Requirements are most likely ignored
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
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
Application’s performance affects directly to market’s performanceApplication’s performance affects directly to market’s performance
• Continuous Integration– Functional testing– Automation– Monitoring
Continuous Integration for functional testing is working already in nightly buildsContinuous Integration for functional testing is working already in nightly builds
Automation reduces time to market for the applicationsAutomation reduces time to market for the applications
Monitoring the real user behaviour and not just healthcheck of serversMonitoring the real user behaviour and not just healthcheck of servers
Error and risks managementError and risks management
Tuning and bugfixingTuning and bugfixing
Listening to user feedbackListening to user feedback
The FutureThe Future
• Continuous Performance Integration– Performance tests integrated in Jenkins– Automation of the trend reports– Real User Monitoring Real time feedback
Telefónica DigitalProduct Development & Innovation
SCRUM and PERFORMANCE
20
Pruebas de RendimientoPruebas de RendimientoProactive 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 systemmay have in production environmentmay have in production environment
TestingTestingTestingTesting
Conocer el escenario productivo para tomar una buena decisión sobre cómo orientar las pruebas de rendimiento es Conocer 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 es Conocer 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 es Conocer 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 es Conocer 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 es Conocer 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 es Conocer 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 es Conocer 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 es Conocer 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 es Conocer 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
Not only the response time is important, an intelligent use of the resources is needed to grow in the future. Efficiency, understood as Not 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
Being able to grow depending on the necessities of the market, users and new technologies is one of the questions to which a performance Being 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
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 and 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 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
One of the most important parts of a good performance test design is to have an appropiate load test environment, as similar as possible to One 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
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 according To 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
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
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 the There 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
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 to Not 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
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
Tuning
Techonology develops at high speed. To bring out the best of our product, business and techonology need to evolve by the hand. Investing in Techonology 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
Telefónica DigitalProduct Development & Innovation
Understand the Project Vision and ContextProject Vision
Project Context
Understand the system
Understand the Project Environment
Understand the Performance Build Schedule
35
Telefónica DigitalProduct 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
Telefónica DigitalProduct 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
Telefónica DigitalProduct 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
Telefónica DigitalProduct 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
Telefónica DigitalProduct 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
But … what are you actually doing day by day?But … what are you actually doing day by day?
Telefónica DigitalProduct Development & Innovation
Case of STUDY
42
• HTML5 trends using Yslow and Firebug
Branches comparison