Devopsdays barcelona

Post on 16-Dec-2014

97 views 0 download

Tags:

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